Javascript Bookmarklet无法打开多个URL
我在下面工作了一段时间。我想它应该有用。。。但不会。我知道我将不得不在任何页面上禁用chromes adblock,但我看不出哪里出了问题。它的目的是突出显示文本,然后运行bookmarklet,它将在url末尾使用该文本打开4个url。非常感谢您的帮助。 ''' 新文本文档.txt 使用新的windows.txt显示。Javascript Bookmarklet无法打开多个URL,javascript,google-chrome,bookmarklet,Javascript,Google Chrome,Bookmarklet,我在下面工作了一段时间。我想它应该有用。。。但不会。我知道我将不得不在任何页面上禁用chromes adblock,但我看不出哪里出了问题。它的目的是突出显示文本,然后运行bookmarklet,它将在url末尾使用该文本打开4个url。非常感谢您的帮助。 ''' 新文本文档.txt 使用新的windows.txt显示。 ''因此,检索所选文本的一般方法是window.getSelection().toString() 看起来你自己几乎成功了。 然而,第三行似乎有一个小的错误键入,在提示符和左括
''因此,检索所选文本的一般方法是
window.getSelection().toString()代码>
看起来你自己几乎成功了。
然而,第三行似乎有一个小的错误键入,在提示符和左括号后面有一个额外的单引号;修复后,代码开始工作
无论如何,为了使代码变得更好,还进行了一些调整:
- 提示文本为纯文本,不带转义空格等
- 最好不要使用全局变量,如
s
;因此,最好至少有var s
- 位格式(在
=
之后加空格,用单引号代替双引号,以形成统一的代码)
修改后的版本:
var s = document.selection?document.selection.createRange().text:window.getSelection?window.getSelection().toString():document.getSelection?document.getSelection():'';
if(s == ''){
s = prompt('You did not select any text to search. Enter the text to search for.','');
}
if(s)
{
window.open('https://www.google.com/'+s);
setTimeout(function(){
window.open('https://youtube.com/'+s,'_blank');
}, 3000);
setTimeout(function(){
window.open('https://url3.com/'+s,'_blank');
}, 9000);
setTimeout(function(){
window.open('https://url4.com/'+s,'_blank');
}, 12000);
};
顺便说一句,如果你想让它成为一个bookmarklet,就像它在你的标签中一样,那么你的代码应该在里面,并保存为一个bookmarklet(一个带有js代码的浏览器bookmark):
因此,检索所选文本的一般方法是window.getSelection().toString()代码>
看起来你自己几乎成功了。
然而,第三行似乎有一个小的错误键入,在提示符和左括号后面有一个额外的单引号;修复后,代码开始工作
无论如何,为了使代码变得更好,还进行了一些调整:
- 提示文本为纯文本,不带转义空格等
- 最好不要使用全局变量,如
s
;因此,最好至少有var s
- 位格式(在
=
之后加空格,用单引号代替双引号,以形成统一的代码)
修改后的版本:
var s = document.selection?document.selection.createRange().text:window.getSelection?window.getSelection().toString():document.getSelection?document.getSelection():'';
if(s == ''){
s = prompt('You did not select any text to search. Enter the text to search for.','');
}
if(s)
{
window.open('https://www.google.com/'+s);
setTimeout(function(){
window.open('https://youtube.com/'+s,'_blank');
}, 3000);
setTimeout(function(){
window.open('https://url3.com/'+s,'_blank');
}, 9000);
setTimeout(function(){
window.open('https://url4.com/'+s,'_blank');
}, 12000);
};
顺便说一句,如果你想让它成为一个bookmarklet,就像它在你的标签中一样,那么你的代码应该在里面,并保存为一个bookmarklet(一个带有js代码的浏览器bookmark):
javascript:(function () {
/*code above here*/
})();