【问题标题】:How access all forms inside a <frameset><iframe>? [duplicate]如何访问 <frameset><iframe> 中的所有表单? [复制]
【发布时间】:2018-12-28 03:05:48
【问题描述】:

我想访问在&lt;frameset&gt;&lt;iframe&gt; 中加载这些表单的网页的&lt;form&gt; 内的所有元素,

然后我在下面创建了这段代码,但不起作用。

什么时候不是以iframe 开头的页面可以正常工作。

如何解决?

ma​​nifest.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


    【解决方案1】:

    您的 iframe 是不同的文档。您当前使用 document.getElementsBy* 的位置需要更改为类似

    var iframe = document.getElementById('frameID');
    var innerDoc = iframe.contentDocument
    innerDoc.getElementsBy*...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-26
      • 2010-10-03
      • 1970-01-01
      • 2016-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多