【发布时间】:2017-04-20 05:35:59
【问题描述】:
单击chrome扩展图标时,我需要获取当前选项卡的源代码。我也尝试过按钮点击事件。请浏览我当前的代码:
manifest.json
{ "name": "UM Chrome Extension!", "version": "1.0",
"description": "To ensure the tracking codes present.",
"icons": {
"128": "TW-Extension-Icon2.png"
}, "background": {
"scripts": [ "background.js"]
},
"content_scripts": [
{
"matches": ["http://*/*"],
"js": ["popup1.js","jquery-1.10.2.js","jquery-ui.js","bootstrap.min.js"]
}
],
"permissions": [
"activeTab","tabs","contextMenus", "http://*/*"
],
"browser_action": {
"default_popup": "popup.html"
},
"manifest_version": 2
}
popup.html
<!doctype html>
<html class="no-js" lang="">
<head>
<script type="text/javascript" src="popup1.js"></script>
</head>
<body style="width: 600px; height: 300px;">
<button value="Test" id="check-1"> </button>
</body>
</html>
和 popup.js
window.addEventListener('DOMContentLoaded', function() {
var fbshare = document.querySelector('#check-1');
fbshare.addEventListener('click', function() {
var htmlCode = document.documentElement.outerHTML;
window.alert(htmlCode);
});
});
如何获取活动标签的源代码?我需要获取页面的源代码,以便我需要搜索页面是否包含特定的跟踪代码(如 GA 代码)。
谢谢
【问题讨论】:
-
请定义“源代码”。你的意思是HTML?脚本? CSS?
-
您正在为弹出窗口和内容脚本加载 popup1.js。这几乎总是一个坏主意™。您应该只将它作为一个或另一个加载。除了库之外,很少有任何脚本文件在两者之间共享。
-
请不要将jQuery、jQueryUI和BootStrap加载到每个页面(
content_scripts和matches),除非你需要。仅 jQuery 就是 85kiB 的最小化代码。这对每一页来说是一个很大的负担。我们这些打开了 100 个标签的人呢?虽然您可能确实需要加载所有这些库,但您应该加载允许用户开始与您的扩展程序交互所需的绝对最小值(例如静态图像和事件处理程序 w/o 库),然后在用户实际与您的扩展交互时动态加载所有内容。 -
不清楚您真正要问的是什么。你要什么代码?你要在哪里?你已经定义了一个内容脚本,所以你可以在那里得到它。对于您所询问的内容的至少一些解释,您应该能够进行一些搜索并获得答案。
标签: google-chrome google-chrome-extension