【发布时间】:2018-12-28 03:05:48
【问题描述】:
我想访问在<frameset><iframe> 中加载这些表单的网页的<form> 内的所有元素,
然后我在下面创建了这段代码,但不起作用。
什么时候不是以iframe 开头的页面可以正常工作。
如何解决?
manifest.json
{
"name": "Chrome webrequest test",
"version": "0.1",
"description": "A test for webrequest",
"manifest_version": 2,
"permissions": [
"tabs", "background", "activeTab", "<all_urls>", "webNavigation", "webRequest", "webRequestBlocking", "http://*/*", "https://*/*", "*://*/*"
],
"background": {
"scripts": ["background.js"],
"persistent": true
},
"browser_action": {
"default_icon": "img/flash128.png",
"default_title": "Chrome webrequest"
},
"icons" : {
"48" : "img/flash48.png"
}
}
background.js
chrome.webRequest.onCompleted.addListener(
function OnWebRequestCompleted() {
chrome.tabs.executeScript(null, {
file: "Inject.js"
}, function() {});
}, {
urls: ["<all_urls>"],
types: ["main_frame"]
}, ["responseHeaders"]);
Inject.js
var url = document.URL;
if (url.indexOf("site.com") != -1) {
var form = document.getElementsByTagName("form");
var btnclass = document.getElementsByClassName("btnClassName");
var inputField = document.getElementsByTagName('input');
for (var x = 0; x < form.length; x++) {
// document.body.addEventListener('DOMSubtreeModified', function() {
for (var i = 0; i < btnclass.length; i++) {
btnclass[i].addEventListener('click', function(e) {
for (var i = 0; i < inputField.length; i++) {
alert(inputField[i].value);
}
}, false);
}
// }, false);
}
}
【问题讨论】:
标签: javascript google-chrome google-chrome-extension