0

我需要知道 PebbleKit Javascript 的当前 URL,我的代码如下:

Pebble.addEventListener("ready",
    function(e) {
        console.log("JS Ready");

        var req = new XMLHttpRequest();
                req.open('GET', URL_MAIN, true);
                req.onload = function(e) {
                        console.log("Status returned: " + req.status); // status is 404
                        console.log(window.location.href);
                        console.log(location);
                        console.log(window.location.host);
                        console.log(document.URL);
                        console.log(document.baseURI);
                        console.log(window.location);
                        console.log(JSON.stringify(Pebble)); // returns {}
                        //var response = JSON.parse(req.responseText);
                        //console.log
                        //console.log(response.redirectUrl);
                        console.log(req.redirectUrl);
                        console.log(req.getResponseHeader('Location')); // This returns null
                        console.log(JSON.stringify(e)); // Nothing about the url

        }
        req.send(null);
    }
);

我尝试了一些测试,但没有人返回我当前的网址。window.location.href 和其他人返回这个:

pebble-js-app.js:13 file:///android_asset/jskit_startup.html?params=%7B%22loadUrl%22%3A%22file%3A%5C%2F%5C%2F%5C%2Fdata%5C%2Fdata %5C%2Fcom.getpebble.android%5C%2Fapp_jskit_installed_apps%5C%2FTelepizza__1%5C%2Fpebble-js-app.js%22%7D

用例是这样的:

  1. 我需要打开第一个 URL(具有 302 重定向)。
  2. 后来,有了这个 URL,我就可以开始提出请求了。

有什么方法可以从 Pebble Javascript 获取当前 URL?

4

1 回答 1

0

你检查req.responseURL字段了吗?我应该包含请求页面的 URL。

如果服务器响应重定向,您还可以检查jQuery 和 AJAX 响应标头的答案。

于 2014-10-29T11:57:33.990 回答