Javascript:在同一窗口中打开新页面

有没有一种简单的方法来修改这段代码,以便在SAME窗口中打开目标URL?

<a href="javascript:q=(document.location.href);void(open('http://example.com/submit.php?url='+escape(q),'','resizable,location,menubar,toolbar,scrollbars,status'));">click here</a>`` 

window.open()的第二个参数是一个表示目标窗口名称的string。

将其设置为:“_self”。

 <a href="javascript:q=(document.location.href);void(open('http://example.com/submit.php?url='+escape(q),'_self','resizable,location,menubar,toolbar,scrollbars,status'));">click here</a> 

旁注:下面的问题给出了一个可以更好地将事件处理程序绑定到HTML链接的方法的概述。

用js函数replace链接的最好方法是什么?

 <script type="text/javascript"> window.open ('YourNewPage.htm','_self',false) </script> 

请参阅参考: http : //www.w3schools.com/jsref/met_win_open.asp

 <a href="javascript:;" onclick="window.location = 'http://example.com/submit.php?url=' + escape(document.location.href);'">Go</a>; 

试试这个在ie 7和ie 8中工作

  $(this).click(function (j) { var href = ($(this).attr('href')); window.location = href; return true; 

以下是对我有用的东西:

 <button name="redirect" onClick="redirect()">button name</button> <script type="text/javascript"> function redirect(){ var url = "http://www.google.com"; window.open(url, '_top'); } </script> 

如果我是你,我会采取一种稍微不同的方式。 在页面加载时更改文本链接,而不是点击。 我会给在jQuery的例子,但它可以很容易地在香草的JavaScript(尽pipe,jQuery更好)

 $(function() { $('a[href$="url="]') // all links whose href ends in "url=" .each(function(i, el) { this.href += escape(document.location.href); }) ; }); 

并写下你的HTML如下:

 <a href="http://example.com/submit.php?url=">...</a> 

这样做的好处是人们可以看到他们点击了什么(已经设置了href),并且从HTML中删除了javascript。

所有这一切说,它看起来像你使用PHP …为什么不把它添加到服务器端?

所以通过在href结尾添加URL,每个链接将在同一个窗口中打开? 你也可以在HTML中使用_BLANK来做同样的事情。