javascript - Chrome扩展程序无法打开新选项卡中的所有 "input type="提交“按钮

标签 javascript google-chrome google-chrome-extension

我有这段代码,但它只打开新选项卡中的最后一个按钮

我的代码是 list .json

{
    "manifest_version": 2,
    "name": "Open Links",  
    "description": "Open Links open all links",  
    "version": "1.0",    
    "permissions": ["tabs", "<all_urls>"],  

    "browser_action": { 
        "default_icon": {
            "19": "openall.png"
        },
        "default_popup": "popup.html"  
    },

    "icons": {
        "19": "openall.png"
    }
}

popup.html

<!doctype html>  
<html>  
    <head><title>Open Links</title></head>  
<body>  
    <button id="buttonclick">click</button>  
    <script src="popup.js"></script> 
</body>
</html>  

popup.js

function runTheScript() {
    chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
        chrome.tabs.executeScript(tabs[0].id, {file: "content_script.js"});
    });
}

document.getElementById('buttonclick').addEventListener('click', runTheScript);

最后是 content_script.js

function clickToOpen() {

    var newTab = document.getElementsByClassName("btn-detail");

    for (i = 0; i < 5; i++) { 
        clickNewTab = newTab[i];
        clickNewTab.click();
    }

}

clickToOpen();

我已经卡住了,我没有更多的想法。

我尝试过的页面的代码是 测试.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test Page</title>
</head>

<body>

<div> 
    <form target="_blank" action="nextpage.php" method="post"> 
        <fieldset> 
            <input name="id" value="1" type="hidden"> 
            <input name="sid" value="18" type="hidden"> 
            <input type="submit" value="Get Page" class="btn-detail"> 
        </fieldset> 
    </form> 
</div>
<div> 
    <form target="_blank" action="nextpage.php" method="post"> 
        <fieldset> 
            <input name="id" value="21" type="hidden"> 
            <input name="sid" value="28" type="hidden"> 
            <input type="submit" value="Get Page" class="btn-detail"> 
        </fieldset> 
    </form> 
</div>
<div> 
    <form target="_blank" action="nextpage.php" method="post"> 
        <fieldset> 
            <input name="id" value="3" type="hidden"> 
            <input name="sid" value="38" type="hidden"> 
            <input type="submit" value="Get Page" class="btn-detail"> 
        </fieldset> 
    </form> 
</div>
<div> 
    <form target="_blank" action="nextpage.php" method="post"> 
        <fieldset> 
            <input name="id" value="4" type="hidden"> 
            <input name="sid" value="48" type="hidden"> 
            <input type="submit" value="Get Page" class="btn-detail"> 
        </fieldset> 
    </form> 
</div>


</body>
</html>

和nextpage.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Next Page</title>
</head>

<body>

<div> 
<h2>ID <?php echo $_POST['id']; ?></h2></div>
<div> 
<h2>SID <?php echo $_POST['sid']; ?></h2></div>


</body>
</html>

有什么建议可以在新选项卡中打开所有给定的链接

最佳答案

使用 window.open() 并使用“_tab”选项在新选项卡中打开它,而不是 click()。

关于javascript - Chrome扩展程序无法打开新选项卡中的所有 "input type="提交“按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40005277/

相关文章:

javascript - 如何查看网站的 Javascript 堆栈?

javascript - 用 base64 编码字符串替换 css 文件中的所有图像路径 - 汇总

javascript - AJAX 和 Rails : Parsererror

javascript - 延迟后在 chrome 中打开标准窗口

javascript - Chrome 应用程序文件系统。无法写入本地文件

javascript - 如何增加javascript中的不透明度?

forms - 谷歌浏览器在重定向时创建历史记录项目?

javascript - Chrome 扩展程序键盘快捷键需要按两次才能更改值

google-chrome - Chromium 的自定义安装程序

javascript - 小于和大于会产生意想不到的结果。