Menambahkan secara manual Script Pengguna ke Google Chrome

161

Alih-alih "menginstal" User-Script, saya menemukan banyak tutorial di web untuk menambahkannya secara manual. Mereka semua menyuruh saya melakukan langkah yang sama:

  • Buat direktori C: \ Users \ Blabla \ AppData \ Local \ Google \ Chrome \ Data Pengguna \ Default \ Script Pengguna
  • Tempatkan file .js di sana, yang berisi Script Pengguna
  • Mulai Chrome dengan parameter --enable-user-scripts

Saya melakukannya - tetapi skrip demo saya tidak melakukan apa-apa:

// ==UserScript==
// @name           Test
// @description    Test
// @include        http://example.com/*
// @version        1.0
// ==/UserScript==

alert(0);

Apa yang saya lakukan salah?

YMMD
sumber
2
Dukungan direktori skrip pengguna telah dihapus pada 2011. Lihat Apakah direktori Script Pengguna masih berfungsi dengan Chrome 13.0 ?: http://stackoverflow.com/questions/6968469/does-the-user-scripts-directory-still-work-with- chrome-13-0 # comment8333680_6979021 .
XP1

Jawaban:

240

Hal terbaik untuk dilakukan adalah menginstal ekstensi Tampermonkey .

Ini memungkinkan Anda untuk menginstal skrip Greasemonkey dengan mudah, dan mengelolanya dengan mudah. Juga membuatnya lebih mudah untuk menginstal skrip pengguna langsung dari situs-situs seperti OpenUserJS , MonkeyGuts , dll.

Akhirnya, itu membuka sebagian besar semua fungsi GM yang tidak Anda dapatkan dengan memasang skrip GM langsung dengan Chrome. Artinya, lebih dari apa yang dapat dilakukan GM pada Firefox, tersedia dengan Tampermonkey.


Tapi, jika Anda benar-benar ingin menginstal skrip GM secara langsung, mudah saja rasanya sakit di Chrome belakangan ini ...

Chrome Setelah sekitar Agustus, 2014:

Anda masih dapat menyeret file ke halaman ekstensi dan itu akan berfungsi ... Sampai Anda me-restart Chrome. Maka itu akan dinonaktifkan secara permanen. Lihat Melanjutkan ke "melindungi" pengguna Chrome dari ekstensi jahat untuk informasi lebih lanjut. Sekali lagi, Tampermonkey adalah cara cerdas untuk maju. (Atau alihkan browser sama sekali ke Opera atau Firefox.)

Chrome 21+:

Chrome mengubah cara ekstensi dipasang . Script Users adalah ekstensi pared-down di Chrome tetapi. Mulai di Chrome 21 , perilaku klik-tautan dinonaktifkan untuk skrip pengguna . Untuk menginstal skrip pengguna, seret file **. User.js * ke halaman Extensions ( chrome://extensionsdi input alamat).

Versi Chrome yang lebih lama:

Seret file **. User.js * Anda hanya ke jendela Chrome apa saja. Atau klik tautan skrip Greasemonkey apa saja.

Anda akan mendapatkan peringatan instalasi:
Peringatan awal

Klik Lanjutkan .


Anda akan mendapatkan dialog konfirmasi:
dialog konfirmasi

Klik Tambah .


Catatan:

  1. Skrip yang dipasang dengan cara ini memiliki batasan dibandingkan skrip Greasemonkey (Firefox) atau skrip Tampermonkey. Lihat Pembuatan skrip pengguna lintas-browser, bagian Chrome .

Mengontrol Script dan nama:

Secara default, Chrome memasang skrip di folder Extensions 1 , penuh dengan nama samar dan nomor versi. Dan, jika Anda mencoba menambahkan skrip secara manual di bawah pohon folder ini, itu akan dihapus saat Chrome dimulai ulang.

Untuk mengontrol direktori dan nama file ke sesuatu yang lebih bermakna, Anda dapat:

  1. Buat direktori yang nyaman bagi Anda, dan bukan tempat Chrome biasanya mencari ekstensi . Sebagai contoh, Buat: C:\MyChromeScripts\.

  2. Untuk setiap skrip buat subdirektori sendiri. Sebagai contoh HelloWorld,.

  3. Di subdirektori itu, buat atau salin file skrip. Misalnya, Simpan kode ini pertanyaan sebagai: HelloWorld.user.js.

  4. Anda juga harus membuat file manifest dalam subdirektori itu, harus dinamai: manifest.json.

    Sebagai contoh kita, harus mengandung:

    {
        "manifest_version": 2,
        "content_scripts": [ {
            "exclude_globs":    [  ],
            "include_globs":    [ "*" ],
            "js":               [ "HelloWorld.user.js" ],
            "matches":          [   "https://stackoverflow.com/*",
                                    "https://stackoverflow.com/*"
                                ],
            "run_at": "document_end"
        } ],
        "converted_from_user_script": true,
        "description":  "My first sensibly named script!",
        "name":         "Hello World",
        "version":      "1"
    }

    The manifest.jsonfile secara otomatis dihasilkan dari meta-blok oleh Chrome, ketika user script diinstal. Nilai @includedan @excludemeta-aturan disimpan di include_globsdan exclude_globs, @match(disarankan) disimpan dalam matchesdaftar. "converted_from_user_script": truediperlukan jika Anda ingin menggunakan salah satu metode yang didukungGM_* .

  5. Sekarang, di pengelola Ekstensi Chrome (URL = chrome: // extensions / ), Perluas "mode Pengembang" .

  6. Klik beban membongkar ekstensi ... tombol.

  7. Untuk folder, paste di folder untuk naskah Anda, Dalam contoh ini adalah: C:\MyChromeScripts\HelloWorld.

  8. Skrip Anda sekarang terpasang, dan operasional!

  9. Jika Anda membuat perubahan apa pun pada sumber skrip, tekan tautan Muat ulang agar diberlakukan:

    Muat ulang tautan




1 Folder secara default adalah:

Windows XP:
  Chrome:% AppData% \ .. \ Pengaturan Lokal \ Data Aplikasi \ Google \ Chrome \ Data Pengguna \ Default \ Ekstensi \
  Chromium:% AppData% \ .. \ Pengaturan Lokal \ Data Aplikasi \ Chromium \ Data Pengguna \ Default \ Ekstensi \

Windows Vista / 7/8:
  Chrome:% LocalAppData% \ Google \ Chrome \ Data Pengguna \ Default \ Extensions \
  Chromium:% LocalAppData% \ Chromium \ Data Pengguna \ Default \ Ekstensi \

Linux:
  Chrome: ~ / .config / google-chrome / Default / Extensions /
  Chromium: ~ / .config / chromium / Default / Extensions /

Mac OS X:
  Chrome: ~ / Perpustakaan / Dukungan Aplikasi / Google / Chrome / Default / Extensions /
  Chromium: ~ / Perpustakaan / Dukungan Aplikasi / Chromium / Default / Ekstensi /

Meskipun Anda dapat mengubahnya dengan menjalankan Chrome dengan --user-data-dir=opsi tersebut.

Brock Adams
sumber
1
Jawaban bagus - diperbarui untuk mencerminkan kebijakan baru "toko web" Chrome. Anda hanya dapat menarik file .user.js ke jendela Extensions.
crb
2
@ ColonelPanic, Sedihnya, tidak, kamu tidak bisa. Manifes yang dibuat secara otomatis saat ini tidak kompatibel dengan proses ekstensi! Itu tidak digunakan "manifest_version": 2, yang sekarang diperlukan. Gunakan contoh dalam jawaban sebagai salinan awal Anda (atau setidaknya jangan lupa "manifest_version": 2). ... Google sedang menyiapkan semua skrip pengguna "normal" untuk gagal dalam rilis yang tertunda, kecuali mereka segera mengubah proses manifes-otomatis.
Brock Adams
1
@brock Saya baru saja menyeret dan menjatuhkan skrip pengguna saya ke jendela ekstensi seperti jawaban kedua dan sekarang saya tidak perlu khawatir tentang pemeriksaan Tampermonkey. Itu hanya berhasil. :)
Bjorn
1
@brock Saya tahu Anda memilikinya, tetapi memberikan rekomendasi Anda untuk menggunakan Tampermonkey, ekstensi yang memerlukan akses ke semua informasi situs perbankan Anda, facebook Anda, semuanya, jawaban kedua lebih baik. Dan untuk 'diperiksa' sama sekali tidak ada yang bisa dilakukan siapa pun untuk memeriksa ekstensi krom karena Anda dapat memperbarui secara otomatis untuk melakukan hal-hal buruk kapan saja, dan kemudian memperbaruinya lagi untuk menyembunyikan ini. Anda harus memeriksa setiap perubahan setiap saat. Ini izin untuk semuanya. Segala sesuatu.
Bjorn
1
@marshmellooooooos, masih berfungsi untuk saya (Chrome 54.0.2840.99 m). Jika Anda tidak dapat membuatnya berfungsi, instal Tampermonkey atau buka pertanyaan baru dengan detail EXACT dari apa yang Anda coba.
Brock Adams
53

Pembaruan 2016: tampaknya berfungsi kembali.

Pembaruan Agustus 2014: Tidak lagi berfungsi pada versi Chrome terbaru.


Ya, keadaan baru menyebalkan. Untungnya tidak sesulit yang diimpikan oleh jawaban lain.

  1. Jelajahi di Chrome untuk chrome://extensions
  2. Seret .user.jsfile ke halaman itu.

Voila. Anda juga dapat menyeret file dari bilah footer unduhan ke tab ekstensi.

Chrome akan secara otomatis membuat manifest.jsonfile di direktori ekstensi yang didokumentasikan Brock .

<3 Kebebasan.

Kolonel Panic
sumber
15
pastikan bahwa nama file seperti <scriptname> .user.js, jika tidak chrome tidak mengenalinya sebagai ekstensi
Paco
1
@AlexTracer Ini berfungsi untuk saya di Chromium 33. Mungkin Anda melakukan sesuatu yang salah.
user7610
4
Tidak berfungsi lagi di Chrome 36. Skrip pengguna yang ditambahkan dengan cara ini datang dengan pesan: "ekstensi ini tidak terdaftar di Toko Web Chrome dan mungkin telah ditambahkan tanpa sepengetahuan Anda", dan kotak centang aktifkan dinonaktifkan.
Pelindung satu
2
Ini berfungsi untuk saya di Chrome 51, dan saya tidak menggunakan parameter baris perintah apa pun. Mungkin mereka mengubahnya kembali?
Miscreant
6
Saya baru saja mencoba ini (Chrome 60) dan dikirim ke halaman yang mengatakan "Ekstensi yang belum dipublikasikan di Toko Web Chrome berwarna abu-abu dan Anda tidak akan dapat mengaktifkannya kembali." Kedengarannya seperti perilaku Agustus 2014. Tidak yakin apakah mereka menonaktifkan ini atau hanya saya yang melewatkan sesuatu.
Pops
11

Parameter ini berfungsi untuk saya:

--enable-easy-off-store-extension-install

Lakukan hal berikut:

  1. Klik kanan pada ikon "Chrome" Anda.
  2. Pilih properti
  3. Di akhir garis target Anda, tempatkan parameter ini: --enable-easy-off-store-extension-install
  4. Seharusnya terlihat seperti: chrome.exe --enable-easy-off-store-extension-install
  5. Mulai Chrome dengan mengklik dua kali pada ikon
joeytwiddle
sumber
Saya mendapatkannya dari superuser.com/questions/450893/...
joeytwiddle
1
Administrator juga dapat membuat kebijakan untuk semua pengguna, dengan URL yang diizinkan masuk daftar putih menurut pola: chromium.org/administrators/…
joeytwiddle
Apakah saya benar-benar perlu menghapus skrip lama dan menginstalnya sepenuhnya baru dengan menyeretnya ke browser lagi ketika saya mengedit barang? Atau ada cara yang lebih mudah?
YMMD
Untuk memperbarui skrip, saya menavigasi ke sana pada sistem file atau server web, dan klik untuk menginstal; Chrome menimpa versi lama. Jika Anda sedang mengembangkan skrip dan tidak ingin terus menginstalnya, coba hybrid bookmarklet / userscript: stackoverflow.com/questions/1810885/…
joeytwiddle
Mmmm ya sepertinya mereka telah menonaktifkan pemuatan samping dengan sengaja: blog.chromium.org/2018/06/…
joeytwiddle
1

Bagikan dan instal skrip pengguna dengan satu klik

Untuk membuat pemasangan otomatis (tetapi secara manual mengkonfirmasi), Anda dapat membuat inti (gist.github.com) dengan <filename>.user.jsnama file untuk mendapatkan instalasi klik saat Anda mengklik Raw dan mendapatkan halaman ini:

Halaman instalasi

Bagaimana cara melakukannya ?

  1. Beri nama inti Anda <filename>.user.js, tulis kode Anda dan klik "Buat".
    Buat file di intisari

  2. Di halaman inti, klik Raw untuk mendapatkan halaman instalasi (layar pertama).
    Tombol mentah

  3. Periksa kode dan instal.

A-312
sumber
0

April 2020 Jawaban

Di Chromium 81+, saya menemukan jawabannya: pergi ke chrome: // extensions /, klik untuk mengaktifkan Mode Pengembang di sudut kanan atas, lalu seret dan letakkan skrip .user.js Anda.

pengguna1461607
sumber
Di Chrome (bukan Chromium) ini tidak berfungsi untuk saya. Dikatakan itu bukan dari toko web chrome dan memaksanya dinonaktifkan.
Monkpit