我有一个实现ADAL.JS
的网页。
当通过web浏览页面时,它工作得很好;然而,当我尝试在iPhone上查看它时,我已经将它保存为桌面上使用Add主屏幕按钮的快捷方式,事情就乱了套了。
初始页面(index.html
)使用apple-mobile-web-app-capable
元标记正确显示;但是,当身份验证被调用时,我会被带到一个真正的浏览器窗口。一旦重定向回index.html
,我仍然在单独的浏览器窗口中,而不是Web视图。
最终,我希望将其作为一个离线网站,在apple-mobile-web-app-capable
生成的视图中运行所有页面功能。对于如何实现这一点,任何其他想法都将受到赞赏。
提前谢谢。
发布于 2017-02-20 19:56:05
这是目前iOS网络应用程序中存在的一个大问题。每个链接或重定向都会在一个新窗口中打开。您可以用window.location.href
修改JavaScript来修复它。
发布于 2017-02-20 23:15:11
好像漏掉了什么.我得到了urlNavigate没有定义的error...suggestions?
alert('Running Auth');
online = navigator.onLine;
authContext = new AuthenticationContext({
tenant: azureTenant,
clientId: azureClientId,
postLogoutRedirectUri: window.location,
//redirectUri: "https://shlpkpiapi.azurewebsites.net/kpiapp/test.html"
});
authContext.config.displayCall=function(url){
if (urlNavigate)
{
this.info('Navigate to:' + urlNavigate);
window.location.href=urlNavigate;
}
else
{
this.info('Navigate url is empty');
}
}
if (authContext.isCallback(window.location.hash)) {
authContext.handleWindowCallback();
var err = authContext.getLoginError();
if (err) {
alert('Error on callback')
}
}
else {
var user = authContext.getCachedUser();
if (user) {
//We have a user in cache and are using those credentials
console.log('Signed in as: ' + user.userName);
} else {
console.log('Not signed in.')
if (online)
{
alert('signing in');
authContext.login();
}
else
{
alert('currently offline');
}
}
}
发布于 2017-02-21 16:48:21
好的.我做了修改,错误消失了,但我不明白这是如何解决这个问题的。当我将我的页面添加到我的IPhone主屏幕(https://xxxxx.azurewebsites.net/app/test.html),然后点击瓷砖,我就会被带到test.html页面。在该页面上,有一个auth函数执行,它使用adal.js并带我到“https://login.microsoftonline.com/xxx.onmicrosoft.com/oauth2.”。这将显示在我的IOS Web应用程序的范围内,并列出我的帐户和使用另一个帐户选项。我点击我的帐户或选择使用另一个帐户选项,我被带到另一个页面打开在Safari。
https://stackoverflow.com/questions/42352897
复制相似问题