2013-03-30 2 views
3
// ==/UserScript== 

//--- Note that the contains() text is case-sensitive. 
var TargetLink   = $("a:contains('We love potatoes')") 

if (TargetLink && TargetLink.length) 
    window.location.href = TargetLink[0].href 

Я хочу, чтобы ссылки, которые он обнаружил, открылись в новой вкладке в хроме. Это может быть очевидным для некоторых, но я не могу понять это для жизни меня, может ли кто-нибудь помочь мне?Использование TargetLink для открытия новой вкладки

+0

возможно дубликат [Открыть URL в новом окне с помощью JavaScript] (http://stackoverflow.com/questions/4907843/open-url-in-new-tab-using-javascript) – JJJ

+0

Должны ли они открывать все ссылки в новых окнах, когда этот код запускается, или вы хотите, чтобы код изменял DOM, чтобы яблоки открывались в новых окнах при нажатии? –

+0

Я бы хотел, чтобы все ссылки открывались в том же окне, но на новых вкладках. –

ответ

2

Вместо того чтобы изменять местоположение текущего окна, вы могли бы использовать что-то вроде window.open(), чтобы открыть новое окно вместо:

window.open(TargetLink[0].href, "myWindow"); 

Обратите внимание, что всплывающие блокаторы и т.д., могут предотвратить окно от открытия.

Примечание стороны:

MDN предлагает quite extensive read на использовании этого, и общее мнение, чтобы избежать обращений к window.open(), с целью удобства использования. Большинство современных браузеров используют просмотр с вкладками, а открытие страниц в новых окнах отходит от этого.

+0

У меня все еще проблема с этим. не могли бы вы опубликовать полный код? Может быть, я глуп и делаю что-то не так. Также, если это помогает, я сижу в чате и хочу, чтобы ссылки imgur автоматически открывались на новых вкладках. –

1

Используйте следующий код:

var TargetLink = $("a:contains('We love potatoes')"); // this will select your node 

if (TargetLink && TargetLink.length) { //checks it node was there 
    alert("Going to redirect"); //Just to make sure that we did correct! 

    TargetLink.attr('taget', '_blank'); //add target="_blank" 
    //TargetLink.click(); // This is not working, because of a security issue. 

} 

А также уведомление о ;.

+0

Теперь это будет. Извините за ошибку. –

0

Вам не нужно if чеки, просто использовать attr метод:

$("a:contains('We love potatoes')").attr('target', '_blank'); 

Так target="_blank" будет добавлен Мы любим картофель -links.

Демо: http://jsfiddle.net/qtsWs/

Смежные вопросы