0

我们正在使用在 Cordova 上运行的 Telerik 平台。我们从 CMS 中动态提取内容,在我们的应用程序中显示我们的一些内容。我们的作者希望在内容中添加链接,但当然,我不希望他们必须在 CMS 的富文本编辑器中的链接上添加“onclick”。

有没有办法让我们的作者只输入添加了 CSS 类的链接或类似的东西,我可以捕获点击,使用 jQuery 或其他东西,并在 Cordova 应用程序中翻译链接以打开“ _system”浏览器。

我最终希望我的链接看起来像这样,供作者在将它们输入 CMS 时使用:

<a href="http://mylink.com" target="_blank" class="externalLink">My external link</a>

但在 PhoneGap/Telerik Platform 应用程序中,我希望在系统浏览器中打开链接。目前它不是,它在当前的 web 视图中打开并将应用程序锁定到网页中,没有任何方法可以返回。

到目前为止,我尝试了这一点,但无济于事。似乎“href”只是触发浏览器运行,然后应用程序在 webview 浏览器中被捕获,并且不会在不强制退出应用程序的情况下返回。

   //IN THE APP JS ITSELF
   //Don't even think this works
 $('a.externalLink, a[target="_blank"]').on('click', function(e){
   e.preventDefault();// Does not prevent default
   console.log("trying to get system");//Does not console
   alert("prevent default"); // Does not alert
   window.open($(this).attr('href'), '_system');
    return false;
 }); 

似乎进入 CMS 的链接只是指向“href”链接而忽略了上面的 jQuery。在 webview 捕获它之前有什么方法可以捕获它?

4

1 回答 1

1

我找到了一个答案,以防其他人也想这样做,而无需将 onclick 事件放在实际的 href 上。

   $(document).on('click', 'a[target="_system"],a[target="_blank"]', function (e) {
        e.preventDefault();
        var url = this.href;
        window.open(url,"_system");                    
});
于 2016-02-01T22:51:46.670 回答