Google chrome extension 如何检查我的javascript浏览器扩展是否工作

Google chrome extension 如何检查我的javascript浏览器扩展是否工作,google-chrome-extension,Google Chrome Extension,我正在尝试为Google Chrome创建一个简单的基于javascript的扩展,它从一个特定的iframe获取数据,并将其作为POST请求的一部分发送到网页。 将通过POST请求提交的数据发送到我的电子邮件地址的网页 我试着运行扩展,它看起来运行良好,但我没有收到任何电子邮件。 接收表单数据的servlet非常简单,我认为它没有任何错误。 我想要的是某种方法来检查基于javascript的扩展是否有效 下面给出了javascript代码- var mypostrequest=new ajax

我正在尝试为Google Chrome创建一个简单的基于javascript的扩展,它从一个特定的iframe获取数据,并将其作为POST请求的一部分发送到网页。 将通过POST请求提交的数据发送到我的电子邮件地址的网页

我试着运行扩展,它看起来运行良好,但我没有收到任何电子邮件。 接收表单数据的servlet非常简单,我认为它没有任何错误。 我想要的是某种方法来检查基于javascript的扩展是否有效

下面给出了javascript代码-

var mypostrequest=new ajaxRequest()
mypostrequest.onreadystatechange=function(){
    if (mypostrequest.readyState==4){
        if (mypostrequest.status==200 || window.location.href.indexOf("http")==-1){
            document.getElementById("result").innerHTML=mypostrequest.responseText
        }
        else{
            alert("An error has occured making the request")
        }
    }
}
var namevalue=encodeURIComponent("Arvind")
var descvalue=encodeURIComponent(window.frames['test_iframe'].document.body.innerHTML)
var emailvalue=encodeURIComponent("arvindikchari@yahoo.com")
var parameters="name="+namevalue+"&description="+descvalue &email="+emailvalue
mypostrequest.open("POST", "http://taurusarticlesubmitter.appspot.com/sampleform", true)
mypostrequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
mypostrequest.send(parameters)
更新


我做了一些更改,使js文件中的内容由后台页面调用,但即使现在扩展也不起作用

我将以下代码放在background.html中:

<script> 
    // Called when the user clicks on the browser action.   
    chrome.browserAction.onClicked.addListener(function(tab) { 
        chrome.tabs.executeScript( null, {file: "content.js"}); 
    }); 
    chrome.browserAction.setBadgeBackgroundColor({color:[0, 200, 0, 100]}); 
</script>

//当用户单击浏览器操作时调用。
chrome.browserAction.onClicked.addListener(函数(选项卡){
executeScript(null,{file:“content.js”});
}); 
chrome.browserAction.setBadgeBackgroundColor({color:[02000,0100]});

查看您的代码看起来像是试图从内容脚本发送跨域ajax请求。这是不允许的,您只能在后台页面和在清单中声明相应的域后执行此操作。更多信息


要检查扩展是否工作,可以打开控制台并检查是否有任何错误。打开“网络”选项卡,查看请求是否已发送到您的URL。将
console.log
放在代码中的各个位置进行调试,或者使用功能齐全的内置javascript调试器进行逐步调试。

查看代码时,您似乎试图从内容脚本发送跨域ajax请求。这是不允许的,您只能在后台页面和在清单中声明相应的域后执行此操作。更多信息


要检查扩展是否工作,可以打开控制台并检查是否有任何错误。打开“网络”选项卡,查看请求是否已发送到您的URL。将
console.log
放在代码的不同位置进行调试,或者使用功能齐全的内置javascript调试器进行逐步调试。

我做了一些更改,以便后台页面调用js文件中的内容,但即使是现在,扩展仍然不起作用——我将以下代码放在background.html-//中,当用户单击浏览器操作时调用。addListener(函数(tab){chrome.tabs.executeScript(null,{file:'content.js});});chrome.browserAction.setBadgeBackgroundColor({color:[02000,0100]})@user893664从后台页面调用内容脚本无法解决任何问题。您需要从后台页面本身发送ajax请求。如果需要首先使用内容脚本收集一些数据,请使用消息传递:我是否可以在包含我的网页的窗口中,将iframe的内容从内容脚本发送到背景页面?(然后后台页面会将数据提交到远程URL)…您能给我指一下从内容脚本检索iframe内容的代码吗?我在SO上尝试了一些可用的代码,但显示的值总是“未定义”…@user893664请为此创建一个单独的问题。我进行了更改,以便js文件中的内容由后台页面调用,但即使是现在,扩展仍然不起作用——我将以下代码放在background.html-//中,当用户单击浏览器操作时调用。addListener(函数(tab){chrome.tabs.executeScript(null,{file:'content.js});});chrome.browserAction.setBadgeBackgroundColor({color:[02000,0100]})@user893664从后台页面调用内容脚本无法解决任何问题。您需要从后台页面本身发送ajax请求。如果需要首先使用内容脚本收集一些数据,请使用消息传递:我是否可以在包含我的网页的窗口中,将iframe的内容从内容脚本发送到背景页面?(然后后台页面会将数据提交到远程URL)…您能给我指一下从内容脚本检索iframe内容的代码吗?我尝试了一些在SO可用的代码,但显示的值总是“未定义”…@user893664请为此创建一个单独的问题。