Javascript 使用Chrome 35及以上版本启用非PlayStore用户脚本
由于Google Chrome的第35版,在Google的PlayStore之外安装的任何扩展的执行都被阻止,无法从扩展菜单启用 非商店脚本的自动安装在两年前被删除,但下载脚本并在extensions菜单上执行拖放操作仍然允许安装,因此仍然可以为Google的Chrome创建和共享脚本。但现在一切都锁上了Javascript 使用Chrome 35及以上版本启用非PlayStore用户脚本,javascript,google-chrome,google-chrome-extension,userscripts,Javascript,Google Chrome,Google Chrome Extension,Userscripts,由于Google Chrome的第35版,在Google的PlayStore之外安装的任何扩展的执行都被阻止,无法从扩展菜单启用 非商店脚本的自动安装在两年前被删除,但下载脚本并在extensions菜单上执行拖放操作仍然允许安装,因此仍然可以为Google的Chrome创建和共享脚本。但现在一切都锁上了 是否可以手动向独立脚本添加权限 可以将个人网站列入白名单吗 还有其他解决办法吗 我知道这一限制不适用于dev和canary发布频道,但脚本的目的是让有足够知识的用户知道他们在做什么,而不强
- 是否可以手动向独立脚本添加权限
- 可以将个人网站列入白名单吗
- 还有其他解决办法吗
dev
和canary
发布频道,但脚本的目的是让有足够知识的用户知道他们在做什么,而不强迫他们更改浏览器。本机支持在Chrome上相当复杂(即使现在完全锁定),因此没有第三方插件(即:Tampermonkey)的解决方案更好
谢谢不幸的是,除了像Tampermonkey这样的扩展之外,似乎没有好的解决办法,因为您的脚本为每个用户生成的方式不同 这是我找到的最好的解释:
除了安装像Tampermonkey这样的扩展或获得不同的浏览器之外,剩下的唯一方法似乎是使用
--启用简易店外扩展安装
标志启动Chrome浏览器
编辑:不幸的是,谷歌
但是,如果用户(或任何程序)在没有此标志的情况下启动Chrome一次,脚本将自动禁用。即使使用正确的标志,也不能重新启用它们;您唯一的选择是卸载它们并重新安装,然后以简易商店外扩展安装模式进行安装
因此,您的选择是:
如果已将Chrome设置为HTTP和HTTPS协议的默认协议处理程序(如果将Chrome设置为默认浏览器,则为这种情况),您可以这样做,每次程序尝试使用默认程序打开HTTP或HTTPS URL时,都会设置此标志。
此外,请确保已设置此标志,例如
.xht
、.htm
和.xhtml
。
您可以使用以下.reg
文件执行此操作:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command]
@="\"C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe\" --allow-easy-off-store-extension-install -- \"%1\""
安装此软件时,请确保Chrome的路径正确
%localappdata%\Google\Chrome\User Data\Default\Extensions
manifest.json
中,找到注入脚本的名称和位置。用用户脚本覆盖此文件的内容。(对于作为示例选择的扩展,这是asset/stickies.js
manifest.json
中引用的扩展的任何内容。替换未在emtpy文件中使用的任何引用脚本和HTML页面。对于上述扩展,我将删除除图标、内容脚本、
asset/stickies.css
和background.HTML
之外的任何内容,然后替换后两个文件包含一个空文件编辑:我验证此解决方案,因为它在这个问题上特别帮助了我。更丰富的答案是。即使他们没有解决我的具体问题,也应该考虑他们 多亏了,我终于找到了问题的答案,事实上,您仍然可以启用与PlayStore无关的脚本,而无需任何第三方插件,但正如您所看到的:使用TamperMonkey可能会更好(即使它可能意味着很少的修改,也会容易200%) 解决方案是在开发者模式下导入未打包的用户脚本 逐步解释
myscript.user.js
manifest.json
的文件
myscript/
- manifest.json
- myscript.user.js
manifest.json
是在developer中将您的脚本作为Chrome扩展导入所需的文件。它描述了您的用户脚本。以下是相关代码,但我们的最低代码是:
{
"manifest_version":2,
"version":"1.0",
"name": "MyScript",
"content_scripts": [
{
"js": ["myscript.user.js"],
"matches": ["http://domain.com/"]
}
]
}