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

时间:2008-11-06 05:13:59

标签: javascript window

是否有一种简单的方法可以修改此代码,以便在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>``

8 个答案:

答案 0 :(得分:77)

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

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

答案 1 :(得分:71)

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

将其设置为:“_ 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链接的更好方法。

What's the best way to replace links with js functions?

答案 2 :(得分:7)

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

答案 3 :(得分:3)

试试这个,它对我来说是在7和8

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

答案 4 :(得分:3)

这对我有用:

<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>

答案 5 :(得分:1)

如果我是你,我会采取一种略微不同的方式。页面加载时更改文本链接,而不是单击。我将在jQuery中给出示例,但它可以很容易地在vanilla javascript中完成(尽管,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 ...为什么不在服务器端添加它?

答案 6 :(得分:1)

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

答案 7 :(得分:0)

尝试

<a href="#" 
   onclick="location='http://example.com/submit.php?url='+escape(location)"
   >click here</a>