href标记无法在新的Web视图或移动版Safari中打开

时间:2012-07-16 21:17:58

标签: ios ios-3.x

我正在与制作iPhone应用程序的公司合作,他们正试图在他们控制的网页浏览中显示网页。所以我给他们的是一个网址,他们用一定的参数点击它来自定义我服务的页面。 (我的页面可能在iFrame中提供,或者与我不了解的其他标记一起提供。)问题是,当意图在移动设备中打开这些链接时,该网页上有链接正在打开Safari或其他网页浏览。我已尝试将href标记的目标更改为_blank_self_parent_top,但无效。

如果不清楚,我无法控制应用程序。所以我不能尝试[UIApplication openURL:[NSURL URLWithString:myLink]]之类的东西。我只能控制我正在返回的页面内容。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

要保持在同一网页视图中,您不应使用href。请改用ontouchstart事件。 示例:

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

前段时间,我使用了下面的javascript函数,以确保我的hrefs只在iPad上浏览时转换为ontouchstart事件。

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;}');
                }
            }
     }

}