脚本不打开右侧链接

问题描述:

我的代码:脚本不打开右侧链接

var link; 
var wid; 
chrome.tabs.getSelected(null,function(tab) { 
    link = tab.url; 
}); 
http.open('get', 'http://surfkid.redio.de/linki.php?site_url='+link); 
function insertReply() { 

} 
http.onreadystatechange = insertReply(); 
http.send(null); 

这不工作,但我不知道为什么。

+1

什么不行?这与PHP有什么关系? – 2010-11-10 23:04:45

+0

它试图做什么?会发生什么呢? – nmichaels 2010-11-10 23:08:01

+0

该PHP写入一个分贝的网址。 PHP的作品perfekt但扩展没有。 – user422039 2010-11-10 23:08:30

你忘了启动的XMLHttpRequest一个实例:

var http = new XMLHttpRequest(); 

您需要使用encodeURIComponent正确编码查询参数:

http.open('get', 'http://surfkid.redio.de/linki.php?site_url='+encodeURIComponent(link)); 

你想一个事件侦听器附加到http.onreadystatechange,但你实际上调用insertReply并设置其返回值。摆脱那些括号:

http.onreadystatechange = insertReply; 

UPDATE:chrome.tabs.getSelected异步工作,所以在执行函数后访问link时,它可能仍然是undefined(见How can I get the URL for a Google Chrome tab?)把你的代码中的回调处理程序。完整的脚本:

var wid, 
    http = new XMLHttpRequest(); 

chrome.tabs.getSelected(null,function(tab) { 
    http.open('get', 'http://surfkid.redio.de/linki.php?site_url=' + encodeURIComponent(tab.url)); 
    http.onreadystatechange = insertReply; 
    http.send(null); 
}); 

function insertReply() { 

} 
+0

现在我有一个数据库条目,但条目是:。未定义。我的php代码: – user422039 2010-11-10 23:35:52

+0

@user:请不要在评论中张贴代码,但更新您的问题,并最终发表您的评论。这几乎不清晰。 – 2010-11-10 23:42:16

+0

sorry php - > http://codeviewer.org/view/code:13cf link.html - > http://codeviewer.org/view/code:13ce mainifest - > http://codeviewer.org/查看/ code:13d0 – user422039 2010-11-10 23:47:45