Javascript: открыть новую страницу в том же окне
Есть ли простой способ изменить этот код, чтобы целевой 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>''
Ответы
Ответ 1
Второй параметр 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>
Sidenote:
Следующий вопрос дает обзор, возможно, лучшего способа привязки обработчиков событий к ссылкам HTML.
Какой лучший способ заменить ссылки на js-функции?
Ответ 2
<script type="text/javascript">
window.open ('YourNewPage.htm','_self',false)
</script>
см. ссылку:
http://www.w3schools.com/jsref/met_win_open.asp
Ответ 3
<a href="javascript:;" onclick="window.location = 'http://example.com/submit.php?url=' + escape(document.location.href);'">Go</a>;
Ответ 4
попробуйте, это сработало для меня в ie 7 и ie 8
$(this).click(function (j) {
var href = ($(this).attr('href'));
window.location = href;
return true;
Ответ 5
Вот что сработало для меня:
<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>
Ответ 6
Я бы взял это несколько иначе, если бы был вами. Измените текстовую ссылку при загрузке страницы, а не на клик. Я приведу пример в jQuery, но его можно легко сделать в 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 уже установлен), и он удаляет javascript из вашего HTML.
Все это говорит о том, что вы используете PHP... почему бы не добавить его на стороне сервера?
Ответ 7
Итак, добавив URL-адрес в конец href, каждая ссылка откроется в том же окне? Возможно, вы также можете использовать _BLANK в HTML, чтобы сделать то же самое.
Ответ 8
пытаться
<a href="#"
onclick="location='http://example.com/submit.php?url='+escape(location)"
>click here</a>