WebView中外链变内部转跳

这个问题貌似很多人都有问到,所以记录下:Windows Store App中webview的网页带有target=“_blank”的链接,点击之后会跳转到外部IE浏览器,想要在内部跳转,请问怎么解决这个问题?

问题地址: http://social.msdn.microsoft.com/Forums/zh-CN/1014f8e4-f6bc-4059-b367-c2420ca18cf2/win8-webview

做了个例子,大家可以参考下: http://sdrv.ms/14e8G5y 

通过参考Matt的博客,想到了可以用注入JavaScript的方式来完成。打开project后如果不点击Button,将会在外部做IE跳转,点击Button后,会在WebView内部做连接跳转。

首先是获取整个页面的html代码,然后对WebView做了Javascript Inject的操作,把下面这段代码注入到Javascript中

stringInsertionScriptString="function disableLink() { ";
InsertionScriptString+="var links = document.links, i, length;";
InsertionScriptString+="for (i = 0, length = links.length; i < length; i++) {";
InsertionScriptString+="links[i].target == '_blank' && links[i].removeAttribute('target');}}";

同时,通过下面的代码把功能激活

webview.InvokeScript("disableLink",null);

原理是把target = “_blank” 删除。

 

转载于:https://www.cnblogs.com/jamleshez/p/3259484.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值