当我在网页开头使用这样的代码时
WL.init({
client_id: "0000000040102460",
redirect_uri: document.URL,
scope: "wl.signin",
response_type: "token"
});
WL.login().then(
function (response) {
WL.api({ path: "me", method: "GET" })
.then(function (response) {
userid = response.id;
$("#wlProfileName").text(response.name);
init(response);
});
});
登录过程发生在弹出窗口中。这是一个坏主意,尤其是因为许多浏览器都配置为禁止它们。
当您登录到例如 outlook.com 时,该过程发生在同一浏览器窗口中。我该如何实现这一目标?
这个问题的投票与完全缺乏答案相结合是相当惊人的。但是,我确实有一个想法:WL.debug.js 可供检查。可以破解它以使用 IFRAME 而不是弹出窗口。
这样应该可以在不改变WL代码的基本方法和流程的情况下解决问题。
现在我即将离开去度几个星期的假期,我没有设施来追求这个想法,但如果有人想尝试一下上述修改,我很乐意在什么时候加入我回来了。
最佳答案
试试这个 php 示例。转到 http://www.microsoft.com/en-us/download/details.aspx?id=7843 ,点击下载按钮,选择webauth-php-1.2.tar.gz并下载..然后解压后将内容放入您电脑上的xampp/htdocs
中并调用地址http://localhost/webauth/sample/index.php
来自您的浏览器。
关于javascript - Windows Live 弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17992787/