จะติดตั้งสคริปต์ผู้ใช้ส่วนตัวใน Chrome 21+ ได้อย่างไร


60

ใน Chrome 20 และรุ่นที่เก่ากว่าคุณสามารถเปิด.user.jsไฟล์ใดก็ได้ใน Chrome และจะแจ้งให้คุณติดตั้งสคริปต์ผู้ใช้

อย่างไรก็ตามใน Chrome 21 ขึ้นไปจะทำการดาวน์โหลดไฟล์แทนและแสดงคำเตือนที่ด้านบนว่า "ส่วนขยายแอปและสคริปต์ผู้ใช้สามารถเพิ่มได้จาก Chrome Web Store" เท่านั้น

ภาพหน้าจอ

ลิงก์“ เรียนรู้เพิ่มเติม” ชี้ไปที่http://support.google.com/chrome_webstore/bin/answer.py?hl=th&answer=2664769แต่หน้านั้นไม่ได้พูดอะไรเกี่ยวกับสคริปต์ผู้ใช้เพียงเกี่ยวกับส่วนขยายใน.crxรูปแบบเท่านั้น แอพและธีม

ส่วนนี้ฟังดูน่าสนใจ:

องค์กรผู้ดูแลระบบ:คุณสามารถระบุ URL ที่ได้รับอนุญาตให้ติดตั้งส่วนขยายแอปและธีมโดยตรงผ่านนโยบายExtensionInstallSources

ดังนั้นฉันจึงรันคำสั่งต่อไปนี้จากนั้นรีสตาร์ท Chrome และ Chrome Canary:

defaults write com.google.Chrome ExtensionInstallSources -array "https://gist.github.com/*"
defaults write com.google.Chrome.canary ExtensionInstallSources -array "https://gist.github.com/*"

น่าเศร้าที่การตั้งค่าเหล่านี้ดูเหมือนจะมีผลกับส่วนขยายแอปและธีม (ตามที่ระบุในข้อความ) ไม่ใช่สคริปต์ผู้ใช้ (ฉันได้ยื่นข้อผิดพลาดที่ขอให้ทำการตั้งค่านี้มีผลกับสคริปต์ของผู้ใช้ด้วย)

แนวคิดใด ๆ เกี่ยวกับวิธีติดตั้งสคริปต์ผู้ใช้ส่วนตัว (ที่ฉันไม่ต้องการเพิ่มใน Chrome เว็บสโตร์) ใน Chrome 21+?


คุณได้ลองเปิดใช้งานโหมดผู้พัฒนาในการตั้งค่า -> ส่วนขยายหรือไม่? ไม่แน่ใจว่ามันจะใช้งานได้หรือไม่ แต่คุณสามารถลองดูได้
Rhyuk

@Rhyuk ขอบคุณสำหรับคำแนะนำ ฉันเปิดใช้งานโหมดผู้พัฒนาแล้ว - ดูเหมือนจะไม่ได้สร้างความแตกต่าง
Mathias Bynens

คำตอบ:


37

ปัญหาคือgist.github.comURL ที่เปลี่ยนเส้นทางไปยังโดเมนอื่น ดังนั้นเราต้องใช้คำสั่งเหล่านี้แทน:

# Allow installing user scripts via GitHub or Userscripts.org
defaults write com.google.Chrome ExtensionInstallSources -array "https://*.github.com/*" "http://userscripts.org/*"
defaults write com.google.Chrome.canary ExtensionInstallSources -array "https://*.github.com/*" "http://userscripts.org/*"

มันใช้งานได้!


อย่างไรก็ตามนี่เป็นวิธีแก้ปัญหา (ขอบคุณPaul Hornสำหรับคำใบ้):

  1. ดาวน์โหลดสคริปต์ผู้ใช้
  2. chrome://chrome/extensions/เปิด
  3. ลากและวางไฟล์สคริปต์ผู้ใช้บนหน้าที่คุณเปิดในขั้นตอนที่ 2

ดูเหมือนว่าจะดีกว่าการแก้ไขคำสั่งที่ใช้ในการเปิด Chromium ขอบคุณ!
btleffler

@Buffffler ยกเว้นว่าคุณจะต้องกระโดดผ่านห่วงนั้นทุกครั้งแทนที่จะทำการเปลี่ยนแปลงครั้งเดียว
Eugene Beresovsky

NB เมื่อลากและวางคุณจะต้องวางไฟล์ลงในข้อความอย่างแม่นยำ ทุกที่ในหน้านี้จะไม่ทำงาน
พันเอก Panic

การลากและวางของการเพิ่มส่วนขยายยังคงทำงานอยู่ ดูเหมือนว่าจะไม่เป็นเช่นนั้นใน Chrome 24 บน OSX
Viktor

มีการกล่าวถึงว่า GitHub อนุญาตให้โฮสต์เนื้อหาที่ผู้ใช้สร้างขึ้นใน <username> .github.com (ผ่าน "Github Pages" - pages.github.com ) เพียงหัวขึ้นสำหรับทุกคนที่นี่จะเป็นเรื่องความปลอดภัย
mh

36

เริ่ม Chrome ด้วยสวิทช์--enable-easy-off-store-extension-install

วิธีใช้สวิตช์บรรทัดคำสั่ง ( จาก Chromium.org ):

บน Windows:

  • คลิกขวาที่ไอคอน "Chrome" ของคุณ
  • เลือกคุณสมบัติ
  • ในตอนท้ายของบรรทัดเป้าหมายของคุณวางพารามิเตอร์เหล่านี้: --enable-easy-off-store-extension-install
  • ควรมีลักษณะดังนี้: chrome.exe --enable-easy-off-store-extension-install

บน OS X:

  • /Applications/Chromium.app/Contents/MacOS/Chromium --enable-easy-off-store-extension-install

  • สำหรับ Google Chrome คุณจะต้องหลีกเลี่ยงช่องว่างดังนี้: /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --enable-easy-off-store-extension-install

บน Linux:

  • chromium-browser --enable-easy-off-store-extension-install

1
คุณต้องออกจาก Chrome อย่างสมบูรณ์ไม่ใช่แค่เปิดหน้าต่างใหม่จากไอคอน (นี่เป็นขยะของ Google btw)
Jonathan

1
อ๊ะนี่กำลังรุกล้ำเข้าไปในดินแดนที่ "ชั่วร้าย" IMO
jnylen

สิ่งนี้ใช้ได้ ... :) คำตอบของ @MathiasBynens ไม่สามารถใช้งานได้กับ MacOS / Chrome25
Lipis

ฉันมีปัญหาบน windows dl2.joxi.net/drive/0005/3037/338909/141218/3935c61eb8.jpg
gstackoverflow

1
ค่อนข้างแน่ใจว่าสิ่งนี้หยุดทำงานหลังจากเดือนสิงหาคม 2014 ดูเหมือนว่าจะไม่ทำงานเลย
Brock Adams

10

นี่ใช้เวลาสองสามชั่วโมงในชีวิตของฉันเพื่อคิดออก ฉันเดาว่าวิศวกรของ Google คิดว่าเราสมควรที่จะติดตั้งส่วนขยายที่ไม่น่าเชื่อถือหากเราสามารถหาวิธีการเล่นกลและกระโดดผ่านห่วงของพวกเขาได้

คำแนะนำในคำตอบของ Mathias นั้นดูเหมือนจะเป็นจุดสำหรับ Mac OS X แต่ฉันใช้ Linux นี่คือสิ่งที่ผมทำบน Linux เพื่อเปิดใช้งานได้ง่ายขึ้น (Pre-Chrome-21 แบบ) ติดตั้งทั้งหมดของบุคคลที่สามส่วนขยายแอปและสคริปต์ผู้ใช้จากเว็บไซต์ใด ๆ :

  1. สร้างไดเรกทอรีนโยบาย (หากยังไม่มีอยู่):

    sudo mkdir -p /etc/opt/chrome/policies/recommended/
    
  2. สร้างไฟล์นโยบาย:

    cd /etc/opt/chrome/policies/recommended/
    
    sudo tee easy_install_extensions.json <<EOF
    {
        "ExtensionInstallSources": ["<all_urls>"]
    }
    EOF
    
  3. รีสตาร์ท Chrome ออกจากโปรแกรมอย่างสมบูรณ์ผ่านmenu -> Exit; อย่าเพิ่งปิดหน้าต่างปัจจุบันของคุณ


แหล่งที่มา:

หมายเหตุ:

  • <all_urls>(ใช้ด้านบน) เป็นรูปแบบพิเศษตามเอกสารการแข่งขัน URL เรื่องน่ารู้เกี่ยวกับ
  • ตามเอกสารนโยบาย Linuxไดเร็กทอรี/etc/opt/chrome/policies/{managed,recommended}/มีไฟล์นโยบาย JSON ถ้ามีรายการขัดแย้งแทนที่managedrecommended

2
ฉันไม่รู้เรื่อง<all_urls>- มีประโยชน์มาก ขอบคุณ!
Mathias Bynens

ยืนยันการทำงานใน Fedora 18. โพสต์น่ากลัวมีประโยชน์มาก!
ehime

น่ากลัว! การลากและวางไม่ได้ผลมาก่อนและตอนนี้ก็ใช้ได้!
billyswong
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.