我正在尝试为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>