2012-07-16 32 views
2

我正在与一家制作iPhone应用的公司合作,他们试图在他们控制的webview中显示一个网页。所以我给他们的只是一个url,他们用特定的参数来打开它来定制我回送的页面。 (我的页面可能会在iFrame中或其他一些我不知道的标记中提供)。问题是,当Web页面中的链接打开时,如果要在移动设备中打开这些链接Safari或其他网络视图。我试过将href标签的目标更改为_blank_self,_parent_top无济于事。href标记无法在新的网络视图或移动Safari中打开

如果不清楚,我无法控制该应用程序。所以我不能尝试像[UIApplication openURL:[NSURL URLWithString:myLink]]。我只能控制我要返回的网页的内容。

有什么建议吗?

回答

0

要保持在同一个webview中,你不应该使用href。改用ontouchstart事件。 实施例:

<a ontouchstart="javascript:window.location = '../abc.html';">Click here</a> 

前阵子我用javascript函数的下面,以确保我的HREF被转换到ontouchstart事件,在iPad浏览只有当。

function clearLinks() 
{ 
var isiPad = navigator.userAgent.match(/iPad/i) != null; 
if(isiPad) 
    { 
    var obj = document.getElementById('body').getElementsByTagName('a'); 
    for(var i =0; i<obj.length; i++) 
      { 
      var url = obj[i].getAttribute('href'); 
       if(url.indexOf("javascript")==-1) 
       { 
       obj[i].setAttribute('ontouchstart', "window.location='" + url + "'"); 
       obj[i].setAttribute('href', 'javascript:function(){return false;}'); 
       } 
      } 
    } 

} 
+0

非常酷。我会试试这个。非常感谢!! – 2012-07-16 21:55:47

相关问题