javascript - 通过 chrome 扩展在外部网页上填写表格

标签 javascript google-chrome-extension

当用户点击我创建的 chrome 扩展程序时,我正在尝试根据当前页面的值在外部网页上填写表单。

所以我要做的是打开页面并首先使用 popup.js 文件中的消息传递消息。

chrome.tabs.create({url: "http://localhost:49177/ProDATA/Add.aspx"},function(tab){  
    chrome.tabs.sendRequest(tab.id, {FirstName: FirstName}, function(response) {
    console.log(response.farewell); })
    });

然后在与用户所在页面位于不同域的 add.aspx 页面上,我尝试执行此操作。

//add listener for chrome extension
    var FirstName = '';
    function LoadEventListener()
    {
        alert('test');

        chrome.runtime.onMessage.addListener(function (request, sender, response) {                
            FirstName = request.FirstName;
            alert(FirstName);
        });
    }

我从 body onload 事件加载“LoadEventListener”。并且显示“test”警报,因此它确实正在加载,但是我没有看到“FirstName”警报。

有人可以帮忙吗?

最佳答案

  • 特权 chrome。* 默认情况下,API 在现代 Chrome 的网页上不起作用。

    应通过 "externally_connectable" 明确允许该 url在 list 中(请参阅该链接以获取代码示例)。

    或使用tabs.executeScriptinject DOM 访问代码而不是 tabs.sendRequest

  • 文档说 tabs.sendRequest自 Chrome 33 起已弃用。请改用 chrome.tabs.sendMessage

关于javascript - 通过 chrome 扩展在外部网页上填写表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32938799/

相关文章:

google-chrome-extension - 将Google Chrome扩展程序转换为Firefox或Safari扩展程序

javascript - 如何在运行时动态关注输入元素

google-chrome - 使用 declarativeNetRequest 进行动态重定向

javascript - window.postMessage 的 DOM 异常 12

javascript - 以编程方式更改 google chrome 默认打印机

javascript - 简单的 Chrome 扩展但有问题吗?

带名称的 Javascript 动态函数调用

javascript - 是否可以创建 Microsoft Azure 函数来监听为特定主题创建的订阅?

javascript - 在 IE 中显示选择选项的值

javascript - Backbone 模型责任