Zastanawiam się, czy możliwe jest załadowanie jQuery w ramach Opera User JavaScript, dzięki czemu mogę używać w niej funkcjonalności jQuery, nawet na stronach, które obecnie nie używają jQuery.Korzystanie z jQuery w przeglądarce Opera User JavaScript
Odpowiedz
Cóż, na pewno byłoby to możliwe, jeśli wkleisz całą zawartość jQuery do pliku UserJS lub utworzysz osobny plik UserJS dla wszystkich stron z biblioteką jQuery. Istnieje jednak możliwość, że będzie on kolidował z dowolnymi stronami używającymi jQuery.
W zależności od wymagań, może mógłbyś przetasować swój własny mini-framework? Na przykład niektóre proste funkcje chwycić elementy wg tagu/klasy/ID:
function $id(id) {
return document.getElementById(id);
}
Uwaga: Można dostać lepszą reakcję na co Opera's forums.
Tylko dla kompletności:
Używam go regularnie z moim userJS. Wystarczy skopiować plik jquery.js do folderu userJS.
Wariant 1:
aby zapobiec jego konflikt z dostępnych jQuery, należy wybrać opcję noConflict obrębie jqueryfile i stowarzyszonej z jQuery z własnym identyfikatorem (jQueryMyIdentifier = jQuery; jQuery = null;). Twój kod JS może być owinięte
(function($) {
// normal jquery js based on, jQueryMyIdentifier
$('#bla').x();
})(jQueryMyIdentifier);
Opcja 2:
odjazdu, jak obejmują zdalne js przy użyciu javascript. implementacja obejmująca linię do twojego JS.
include "http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"
lub podobne.
Właśnie napisałem Operę userJS, którą przekształciłem z rozszerzenia Google Chrome, gdzie jQuery można było łatwo załadować, ale tutaj w Operze musiałem użyć innego rozwiązania, a chciałem wprowadzić minimalne zmiany w moim kodzie.
Po prostu dołączam nowy znacznik skryptu do nagłówka dokumentu z działającym źródłem jQuery. Zaczyna być pobierany ZANIM DOM jest gotowy.
To jest moje działające rozwiązanie, mam nadzieję, że pomaga!
// ==UserScript==
// @name This is the name of my userJS
// @description That's the description of my userJS
// @include http://blahblah.hu/*
// @include http://*.blahblah.hu/*
// @match http://blahblah.hu/*
// @match http://*.blahblah.hu/*
// @version 1.0
// ==/UserScript==
(function() {
// include jQuery
var headID = document.getElementsByTagName("head")[0];
var newScript = document.createElement('script');
newScript.type = 'text/javascript';
newScript.id = 'myjQuery';
newScript.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js';
headID.appendChild(newScript);
window.addEventListener('load', function (e) {
// you can write your jQuery code now!
$('#yourElementId').css('background-color', 'yellow');
// further jQuery codes
// ...
}, false);
})();
- 1. Nie można ustawić fokusu w przeglądarce Firefox/Opera
- 2. Drukowanie elementów iframe w przeglądarce Opera i Chrome
- 3. testowanie instrukcji jQuery w przeglądarce Chrome JavaScript
- 4. Korzystanie z jQuery na konsoli?
- 5. Korzystanie z window.location.hash w jQuery
- 6. Nie można znaleźć przycisku "zezwól na mikrofon" w przeglądarce Opera
- 7. Korzystanie $ (BUILT_PRODUCTS_DIR) w nagłówku User Search Path
- 8. Zmiana atrybutu src obrazu za pomocą jQuery nie zawsze jest stosowana w przeglądarce Chrome/Opera
- 9. Korzystanie z jQuery w ASP.NET
- 10. Javascript: document.execCommand w przeglądarce?
- 11. jquery touchstart w przeglądarce
- 12. Testowanie funkcjonalne JavaScript w przeglądarce
- 13. Korzystanie wyliczenia w JavaScript
- 14. Odczytywanie pliku XML za pomocą JavaScript w przeglądarce Chrome
- 15. jQuery .focus() działa inaczej w każdej przeglądarce. Jak temu zapobiec?
- 16. odpowiednik pdb.set_trace() w przeglądarce javascript?
- 17. Korzystanie z jQuery-menu-cel
- 18. Korzystanie z funkcji najbliższego Jquery()?
- 19. Telnet Korzystanie z apletów w JavaScript
- 20. Korzystanie z animacji CSS podczas wykonywania javascript
- 21. Czy korzystanie z jQuery jest gwarancją zgodności z różnymi przeglądarkami?
- 22. Korzystanie z Browserify z wtyczkami jQuery
- 23. Zdarzenie upuszczania JavaScript/JQuery nie jest uruchamiane w przeglądarce Internet Explorer IE 11
- 24. Korzystanie rzut w wyrażeniu Javascript
- 25. Korzystanie z ukośnika w window.location.hash
- 26. przy użyciu javascript w przeglądarce internetowej
- 27. Korzystanie z prototypu JavaScript - najlepsza praktyka
- 28. Czy użytkownik wybiera dla Opera 10.62 i IE9?
- 29. Opera preventDefault() na zdarzeniu keydown
- 30. JavaScript w przeglądarce, by PHP $$ varname
Dzięki, zadziałało. Jeszcze lepszym sposobem było zapisanie jquery w folderze userscripts opery, tak aby był uruchamiany na każdej stronie. Wtedy mógłbym po prostu użyć zwykłego $ (document) .ready (function() {w moim własnym pliku javascript użytkownika – RadiantHeart
Jeśli skopiujesz jQuery do swojego folderu JS użytkownika, pamiętaj, że skrypty użytkownika działają w kolejności alfabetycznej, więc może nazywając to coś jak 0-jquery.js pomaga uruchomić go zanim wszystkie inne skrypty będą go potrzebować (Przynajmniej my (Opera) zaimplementowaliśmy alfabetyczne sortowanie plików skryptów użytkownika, nie wiemy, czy mamy do tego odpowiednie testy, więc nie mamy pojęcia, czy działa. Być może muszę to naprawić.) – hallvors
Dobra wskazówka, dzięki. – RadiantHeart