情况如下:
1.如果是 <a href="asdf.html'></a>这个可以跳到指定的页面;
2.但是如果是<a href='#' onclick='gotoURL("url")></a>' 这就不行了,跳转的页面还是当前页,请问一下,这中情况如何处理?
我是用webbrowser将其他网站的网页嵌套进来,我不可能更改别的网页。只能捕获他们的事件。 现在就是如果超链接中有onclick事件,那么页面就跳转不过去了
<a href='#' onclick='gotoURL("url") return;'></a>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>Untitled Page</title> <script> function gotoURL() { var r = "http://www.baidu.com"; window.open(r); } </script> </head> <body> <a href='#' onclick='gotoURL(); return;'>aaa</a> </body> </html>
贴下gotoURL()这个函数的实现
gotoURL()这个方法我只是举个例子(例如gotoURL(){跳转到www.baidu.com})。 因为对于第二种情况,我用webbrowser.stastuText得到的URL始终是asdf.html# .无法实现真正跳转到想要达到的页面(www.baidu.com)。
@Mr.H: - -不明觉厉啊 你的gotoURL()怎么写的
@Mr.H: 对于浏览器控件中的脚本执行,确实不好拦截。我记得博客园中有重写WebBrower控件的示例,在处理捕获跳转事件,你得查查了。
@||Timmy:
刚我测试了一下,gotoURL可以执行。不好意思。
我的问题是这样的,有一个a.htm,嵌套在了webbroswer(WB1)中。
<html> <head> <title></title> <script type="text/javascript"> function test() { window.open(“http://www.baidu.com”); } </script> </head> <body> <a href="#" onclick="test()">asdf</a> </body> </html>
我现在想点击这个链接,让新开窗口在一个新的webborswer(WB2)中呈现,该如何实现啊?
如果我用WB2.nagetive(URL)这个方法,如何获取到JS中的那个“http://www.baidu.com”这个网址呢?
因为WB1.STATUTEXT是"a.htm#".
在gotoURL这个方法中首先要执行的是取消a标签点击事件的默认操作,这样就不会执行默认的跳转了、
e.preventDefault();
直接调用方法