在AngularJS中,我正试图为iOS Safari提供动态的apple-itunes-app智能横幅。我在index.html中为应用程序设置了一个部分,因为我正在使用ui-router。我已使用此元标记成功显示了智能横幅:
<meta name="apple-itunes-app" content="app-id=111111111">
现在我正在尝试动态添加app-argument,具体取决于哪个AngularJS控制器处于活动状态。我希望允许用户访问应用中的相同内容,例如:
<meta name="apple-itunes-app" content="app-id=111111111, app-argument={{inAppPath}}">
当我检查我的开发工具时,我通过不同的视图加载所有控制器变量({{inAppPath}}
),正确更新。我知道直接在地址栏上输入时,inAppPath可以正常工作。横幅仍然只会在主页中打开应用程序,而不是在app-argument中关注。最初,我认为app-argument没有及时设置浏览器来评估它。当app-argument改变时,有没有办法重新评估或重新加载元标记/智能横幅?
我试过了:
删除旧标记并使用jqlite从头部添加新标记。
使用navigator.platform检测iOS,但无法弄清楚如何使用 看看是否安装了应用程序。