加载包含一些链接的网络剪辑后,单击链接将启动Mobile Safari,而不是在同一窗口中加载链接。有没有办法防止在Safari而不是Webclip实例中加载链接?我正试图在本地Apache安装上使用PHP来模拟一个移动应用程序。
根据Apple文档,外部页面链接似乎总是会在Mobile Safari:中打开
在此模式下,任何外部链接都将在Safari上打开iPhone,这意味着你必须将你的网络应用程序保存到单个页面,并使用Ajax更新该页面的部分内容。
除了使用AJAX加载新内容的单个页面选项外,您还可以在必须留在应用程序中的超链接上使用JavaScript self.location=URL; return false
。这可以直接添加到HTML代码中,也可以在加载页面时使用另一个脚本。
如果你正在使用jQuery,我建议你这样做:
$('a:not([target])').click(function(){
self.location = $(this).attr('href');
return false;
});
显然,这个脚本应该在HTML加载后运行,以确保它实际附加到A
元素onClick
事件。