2017-06-18 36 views
-1

我试图抓住标签的源代码,并使用Chrome扩展和jQuery来匹配标题和其他一些标签。我看过类似的问题,目前为止没有任何工作。有人能帮助我吗?它已经4个小时没有成功。我只是需要的代码来获取源代码,我会做休息...使用Chrome扩展和jQuery获取源代码

manifest.json的

{ 
    "name": "Importer", 
    "version": "0.1", 
    "manifest_version": 2, 
    "permissions": [ 
     "tabs" 
    ], 
    "browser_action": { 
     "default_icon": "icon.png", 
     "default_popup": "popup.html" 
    } 
} 

popup.js

/* 
* Popup v1.0.0 
*/ 
$(window).load(function() { 
    $("#import").click(function() { 
     $(".success").show(); 
    }); 
}); 

弹出.html

<!doctype html> 
<html> 
<head> 
    <meta charset="UTF-8" /> 
    <title>Importer</title> 
    <style> 
     .success { color: green; font-weight: bold; margin-top: 20px; display: none; } 
     .error { color: red; font-weight: bold; margin-top: 20px; display: none; } 
    </style> 
    <script type="text/javascript" src="jquery.min.js"></script> 
    <script type="text/javascript" src="popup.js"></script> 
</head> 
<body> 
    <h1>Importer</h1> 

    <button id="import">Import!</button> 

    <div class="success"> 
     <span>The product is imported!</span> 
    </div> 
    <div class="error"> 
     <span>The product is not imported!</span> 
    </div> 
</body> 
</html> 
+1

您需要使用[内容脚本]( https://developer.chrome.com/extensions/content_scripts)与网页进行交互(例如,操纵DOM,听取页面上的点击等)。我建议您阅读[Chrome扩展程序概述](https://developer.chrome.com/extensions/overview)(可能还包括从概述链接的页面)。 [体系结构部分](https://developer.chrome.com/extensions/overview#arch)具有全面的体系结构信息,这些信息应该有助于您理解组织/完成情况的方式。 – Makyen

+1

如果你的用户交互*开始*用户点击'browserAction'按钮,那么内容脚本应该注入['chrome.tabs.executeScript()'](https://developer.chrome.com/extensions/ tabs#method-executeScript)而不是* manifest.json *'content_script'条目。这样,您的内容脚本就不会因为被注入到每个页面而等待被使用而给浏览器造成负担。使用'chrome.tabs.executeScript()',脚本可以在注入[数据(如果需要的话)已经传递给它的情况下]开始运行(http://stackoverflow.com/a/40815514/ 3773011)。 – Makyen

+0

“抓住标签的源代码”是什么意思?您是否希望将标签内容的HTML文本转换为弹出脚本?你想要做什么“标签的源代码”? – Makyen

回答

0

您应该创建content_script,可以让你访问到整个DOM
在清单:

content_scripts": [ 
    { 
     "matches": ["http://*/*", "https://*/*"], 
     "js": ["content.js"] 
    } 
] 

content.js你可以写正JS如:document.body.innerHTML

+0

只有在导入按钮被点击后,有没有一种可能的方式(例如)console.log document.body.innerHTML? –

+0

在编程谷歌是你最好的朋友:https://stackoverflow.com/questions/20019958/chrome-extension-how-to-send-data-from-content-script-to-popup-html – Michael

+0

我刚才看在那,但我决定从content.js做所有的东西。所以我只需要找到一种方法来触发content.js导入按钮被点击后...... –