【问题标题】:JavaScript + Chrome Tabs Api - can't get tab's URLJavaScript + Chrome Tabs Api - 无法获取标签的 URL
【发布时间】:2011-10-05 10:23:59
【问题描述】:

我有以下代码,问题是来自 chrome.tabs.getSelected 的回调是在使用空 url 发送的请求之后评估的。我该如何解决这个问题?

function send() {
var url = '';
chrome.tabs.getSelected(null, function(tab) {
    url = tab.url;
});

var client = new XMLHttpRequest();
client.onreadystatechange = function() {
    if(this.readyState == 4) {
        alert(this.status);
    }
}
client.open("POST", "http://myurl");
client.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");

client.send(url);
}

【问题讨论】:

    标签: javascript google-chrome google-chrome-extension


    【解决方案1】:

    欢迎来到异步编程

    function send() {
        chrome.tabs.getSelected(null, function(tab) {
            var client = new XMLHttpRequest();
            client.onreadystatechange = function() {
                if(this.readyState == 4) {
                    alert(this.status);
                }
            }
            client.open("POST", "http://myurl");
            client.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");
    
            client.send(tab.url);
        });
    }
    

    【讨论】:

    • 现在我明白了。谢谢
    • 我还有一个问题。是否可以获得标签的源代码?我想发送 URL、整个页面的 HTML 代码和一个代码 sn-p(用户选择一些文本并在请求中发送)。
    • 是的。由于您拥有 tabId,您可以在其上执行一些脚本并做任何您想做的事情。 code.google.com/chrome/extensions/dev/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-02
    • 1970-01-01
    • 2020-09-11
    • 1970-01-01
    相关资源
    最近更新 更多