2010-10-07 18 views

Odpowiedz

0

Jeśli nie chcesz ponownie instalować skryptu, możesz zrestartować chrome.
To powinno spowodować, że zmiany zaczną obowiązywać.

zgadzam się jest to bardzo irytujące

3

Można to zrobić, jeśli masz gdzieś serwer gdzie można zaimportować zmieniony plik.

Ci się to

// a function that loads jQuery and calls a callback function when jQuery has finished loading 
function addJQuery(callback) { 
    var script = document.createElement("script"); 
    script.setAttribute("src", "http://server.url/Custom/jquery.min.js"); 
    script.addEventListener('load', function() { 
    var script = document.createElement("script"); 
    script.textContent = "(" + callback.toString() + ")();"; 
    document.body.appendChild(script); 
    }, false); 
    document.body.appendChild(script); 
} 

function addScript(callback) { 
    var script = document.createElement("script"); 
    script.setAttribute("src", "http://server.url/Custom/Custom script.js"); 
    script.addEventListener('load', function() { 
    var script = document.createElement("script"); 
    script.textContent = "(" + callback.toString() + ")();"; 
    document.body.appendChild(script); 
    }, false); 
    document.body.appendChild(script); 
} 

// load jQuery and execute the init function 
addJQuery(addScript); 

Ładuje pierwszy jQuery to mój zwyczaj skrypt, kiedy uruchomić stronę internetową, to zawsze ładuje cały skrypt.

Może to też ci pomoże.

+0

Genialny! Dlaczego więcej osób nie mówi o tej metodzie? –

13

Tak, jest sposób na zrobienie tego. Korzystając z metody przyjętej pod this brilliant answer (^ _ ^), możesz edytować skrypty - na miejscu - i po prostu nacisnąć link "Przeładuj", aby zmiany zaczęły obowiązywać.

Metoda ta ma dodatkowy bonus, że Chrome Extensions folder nie dostać zaśmiecone rozszyfrowania nazwy folderów i plików, i można łatwo znaleźć skrypt, który chcesz dostosować.

Oto jak skonfigurować środowisko pracy, aby umożliwić łatwą aktualizację skryptu:

  1. Utwórz katalog, który jest wygodny dla Ciebie i nie gdzie Chrome normalnie wygląda rozszerzeń . Na przykład Utwórz: C:\MyChromeScripts\.
    To będzie miejsce, w którym wszystkie skrypty będą znajdować się w przyszłości.

  2. Dla każdego skryptu utwórz własny podkatalog. Na przykład, Script_1, Script_2 itp

  3. Każdy podkatalogu powinna zawierać jego skrypt np MyScript1.user.js i plików używanych przez ten skrypt.

  4. Teraz za tajny sos ... Musisz również utworzyć plik manifestu w tym podkatalogu i musi on mieć nazwę: manifest.json.

    Przykładowe treści, przynajmniej:

    { 
        "manifest_version": 2, 
        "content_scripts": [ { 
         "exclude_globs": [ ], 
         "include_globs": [ "*" ], 
         "js":    [ "MyScript1.user.js" ], 
         "matches":   [ "https://stackoverflow.com/*", 
               "https://stackoverflow.com/*" 
              ] 
        } ], 
        "description": "This script does X, Y, and Z.", 
        "name":   "My script number 1", 
        "version":  "1" 
    } 
    


  5. Teraz w menedżerze rozszerzeń Chrome (URL = chrome: // extensions/), Expand tryb programisty .

  6. Kliknij Wczytaj rozszerzenie ... przycisk.

  7. folderu, wklej w folderze do skryptu, na przykład:
    C:\MyChromeScripts\Script_1.

  8. Twój skrypt zostanie zainstalowany i będzie działać.

  9. Zostaw otwartą stronę Rozszerzenia. Teraz, po zapisaniu jakichkolwiek zmian w pliku * .js, kliknij link Przekaż ponownie, aby od razu zadziałały.

  10. Ciesz się!



folderu rozszerzenia domyślnie:

 
Windows XP: 
C:\Documents and Settings\***{username}***\Local Settings\Application Data\Google\Chrome\User Data\Default 

Windows Vista: 
C:\Users\***{username}***\AppData\Local\Google\Chrome\User Data\Default 

Windows 7: 
C:\Users\***{username}***\AppData\Local\Google\Chrome\User Data\Default 

Chociaż można go zmienić przez uruchomienie Chrome z opcją --user-data-dir=.

+0

To jest świetne, czy istnieje sposób na obejrzenie katalogu? Nadal muszę wrócić do strony rozszerzeń. –

+0

@BartlomiejLewandowski, Nie jestem tego świadomy, ale nie nadążam za zmianami w Chrome, odkąd utknęli oni w macierzystym usercripts. –

0

Łatwym sposobem, aby to zrobić jest użycie dwóch plików:

  • userscript.user.js z GM nagłówków który ładuje script.js. Możesz wyczyścić pamięć podręczną każdego dnia (powiedz, aby załadować script.js z dodanym losowym łańcuchem zapytań)
  • script.js która zawiera aktualny skrypt.

Na przykład, zrobiłem że here

//#!userscript.user.js 

// ==UserScript== 
//GM headers 
// ==/UserScript== 


(function(){ 
    var d=new Date(); 
    var script = document.createElement("script"); 
    script.type = "text/javascript"; 
    script.src="script.js?purge="+d.getMonth()+""+d.getDay(); //appends a new query string every day. This evades browser cache 
    document.body.appendChild(script); //you can append to `head` as well, I used body here sine I needed jQuery already loaded 
})(); 

Obciążenia script script.js?purge=xyz, gdzie xyz zależy od daty. Ciąg kwerendy czyszczenia zapewnia, że ​​skrypt jest buforowany tylko na jeden dzień, a nie więcej - do następnego dnia będzie on ładowany od nowa. W przypadku zastosowań programistycznych lepiej jest uzyskać numer "script.js?purge="+Math.random(). Jeśli skrypt znajduje się na komputerze lokalnym, nie musisz się martwić o pamięć podręczną.

Teraz, jeśli wprowadzisz zmianę na script.js, do jutra wszyscy będą używać zaktualizowanej wersji.