我是 Chrome 扩展开发的新手,我需要制作一些带有扩展的示例。
我需要将 JavaScript 文件添加到启用扩展程序时浏览的所有站点,这是我要添加到所有页面的代码
<script type="text/javascript" src="web-retina-emulator.js"></script>
该文件使页面看起来像网站在视网膜上显示时的样子。有没有简单的方法可以做到这一点?
我是 Chrome 扩展开发的新手,我需要制作一些带有扩展的示例。
我需要将 JavaScript 文件添加到启用扩展程序时浏览的所有站点,这是我要添加到所有页面的代码
<script type="text/javascript" src="web-retina-emulator.js"></script>
该文件使页面看起来像网站在视网膜上显示时的样子。有没有简单的方法可以做到这一点?
启用扩展后,您可以使用此基本结构将 JavaScript 文件添加到所有站点。
如果web-retina-emulator.js
是一个单独的文件,它不使用注入它的页面的全局变量或函数,建议使用此方法
它可以访问 chrome API* 的某些部分
它不能使用注入它的页面的javascript变量和函数。
{
"name":"Custom Script",
"description":"http://stackoverflow.com/questions/14165629/add-javascript-file-to-all-sites-i-browse",
"version":"1",
"manifest_version":2,
"content_scripts":[{
"matches":["<all_urls>"],
"js":["web-retina-emulator.js"],
}
]
}
如果web-retina-emulator.js
需要一些 javascript 方法或页面变量,请使用此方法
它可以访问页面的javascript变量和方法
它不能使用 chrome API*。
{
"name":"Custom Script",
"description":"http://stackoverflow.com/questions/14165629/add-javascript-file-to-all-sites-i-browse",
"version":"1",
"manifest_version":2,
"content_scripts":[{
"matches":["<all_urls>"],
"js":["myscript.js"],
}
]
}
var script = document.createElement('script'); // Create a Script Tag
script.src = chrome.extension.getURL("web-retina-emulator.js"); //Fetch the content script
script.onload = function () {
this.parentNode.removeChild(this); //Remove script after script executed
};
(document.head || document.documentElement).appendChild(script); //ADD script tag
//to head or Html element
当您的 JavaScript 或 CSS 代码不应该插入到与该模式匹配的每个页面中时,以编程方式将代码插入页面很有用——例如,如果您希望脚本仅在用户单击浏览器操作的图标时运行。
chrome.tabs.executeScript(null,
{file:"web-retina-emulator.js"});
确保在清单文件中设置权限
"permissions": [
"tabs", "http://*/*"
],
查看Tampermonkey。它是相当于greasemonkey的铬。