Chr*_*and 7 html javascript google-chrome-extension
使用Chrome 27时,似乎覆盖Chrome的新标签页的扩展程序无法像以前版本的Chrome中那样关注Chrome的多功能框.
是否有新方法将输入框聚焦在新标签页中,或者是否已完全禁用此功能?:(
要测试它,请创建一个包含三个文件的扩展文件夹:
manifest.json:
{
"name": "Focus Test",
"version": "0",
"minimum_chrome_version": "27",
"chrome_url_overrides": {
"newtab": "newTab.html"
},
"manifest_version": 2
}
Run Code Online (Sandbox Code Playgroud)
2. focus.js:
document.getElementById('foo').focus();
Run Code Online (Sandbox Code Playgroud)
3. newTab.html:
<html>
<body>
<input id="foo" type="text" />
<script type="text/javascript" src="focus.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
然后,当您加载扩展并打开一个新选项卡时,输入字段不会集中在新选项卡页面上.
我也尝试将该autofocus属性添加到该input字段中,但也没有运气.扩展程序的新标签页无法将注意力从Chrome的Omnibox上移开.
有任何想法吗?这是一个错误还是一个新的"功能"?
这个答案改编自/sf/answers/794381171/。
这已经通过 Manifest V2 和 V3 进行了测试。
在 Google Chrome 99.0.4844.51 64 位 (Windows 10) 中测试。
focus.js为: if (location.search !== "?x") {
location.search = "?x";
throw new Error; // load everything on the next page;
// stop execution on this page
}
Run Code Online (Sandbox Code Playgroud)
autofocus属性添加到<input>.Load unpacked按钮。选择您的扩展程序的文件夹。Change back to Google?。单击Keep it以保留您的自定义新标签页。如果您将 Javascript 内联到 HTML 文件中,则需要执行一些额外的步骤:
F12key)并观察控制台中的错误输出。您应该看到的示例输出:Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' blob: filesystem:".
Either the 'unsafe-inline' keyword, a hash ('sha256-MK0Gypb4mkZTI11eCOtWT+mGYcJNpN5zccvhfeaRb6E='), or a nonce ('nonce-...') is required to enable inline execution.
Run Code Online (Sandbox Code Playgroud)
manifest.json允许 JS 运行,将刚刚复制的哈希值粘贴到单引号之间。例如:"content_security_policy": "script-src 'self' 'sha256-MK0Gypb4mkZTI11eCOtWT+mGYcJNpN5zccvhfeaRb6E='"
Run Code Online (Sandbox Code Playgroud)
Load unpacked。<input>.注意内联仅适用于 Manifest V2;尝试加载扩展时,Manifest V3 返回一条失败消息(即使使用格式正确的"content_security_policy"对象manifest.json来替换 Manifest V2"content_security_policy"字符串):
Failed to load extension
File C:\path\to\extension
Error 'content_security_policy.extension_pages': Insecure CSP value "'sha256-...'" in directive 'script-src'.
Could not load manifest.
Run Code Online (Sandbox Code Playgroud)