0

我有一个应用程序从 REST API 检索 json,其中包含我在 HTMl 小部件上显示的一些 HTML 内容,我需要检索到的所有这些链接在系统浏览器上的应用程序外部打开,主要是因为内部应用程序打开速度非常慢,并且我的应用程序被锁定为纵向,并且应该在横向上查看链接。

我的应用程序从 REST API 检索数据,并显示 HTML 内容,但我无法控制检索到的此 HTML 的链接,形式为

在某些窗口中,我有一些使用带有 _system 参数的 window.open 的按钮,它的工作原理就像一个魅力,但我们需要的解决方案是一种指定所有链接应在应用程序外部打开的方法,因为我们无法控制链接检索到的 HTML 内容。

问候。

4

2 回答 2

0

我对类似问题的回答在这里更合适,所以我将重复一遍:这个想法是拦截点击并对任何以“http”开头的链接进行操作。

window.onclick = clickEvent;

function clickEvent(e){
    e = e || window.event;
    var t = e.target || e.srcElement
    if ( t.name || t.href ){
       if( typeof t.href == "string" && t.href.substr(0,4) == 'http' ){
           if( t.attributes.href.value !== "#" ){
               window.open(t.href, '_system', 'location=yes');
           }
           return false; // no further action for this click
       }
    }
    return true; // process click as normal
}

我希望 Cordova 能够稍微安定下来,并且旧技术( target="_system" )就足够了,在这种情况下,您可能只需要使用<base target="_system">设置默认值。3.0 之前的非白名单链接很好。现在以上就是对我有用的一切。

于 2013-12-03T10:53:49.387 回答
0

除非我误解了这个问题,否则这不是默认的 Android 行为吗?我的印象是链接将在系统默认浏览器(而不是您的应用程序)中打开,除非您明确告诉您的应用程序处理这种活动。

于 2013-07-16T17:08:32.177 回答