Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Bookmarklet无法打开多个URL_Javascript_Google Chrome_Bookmarklet - Fatal编程技术网

Javascript Bookmarklet无法打开多个URL

Javascript Bookmarklet无法打开多个URL,javascript,google-chrome,bookmarklet,Javascript,Google Chrome,Bookmarklet,我在下面工作了一段时间。我想它应该有用。。。但不会。我知道我将不得不在任何页面上禁用chromes adblock,但我看不出哪里出了问题。它的目的是突出显示文本,然后运行bookmarklet,它将在url末尾使用该文本打开4个url。非常感谢您的帮助。 ''' 新文本文档.txt 使用新的windows.txt显示。 ''因此,检索所选文本的一般方法是window.getSelection().toString() 看起来你自己几乎成功了。 然而,第三行似乎有一个小的错误键入,在提示符和左括

我在下面工作了一段时间。我想它应该有用。。。但不会。我知道我将不得不在任何页面上禁用chromes adblock,但我看不出哪里出了问题。它的目的是突出显示文本,然后运行bookmarklet,它将在url末尾使用该文本打开4个url。非常感谢您的帮助。 '''

新文本文档.txt 使用新的windows.txt显示。
''

因此,检索所选文本的一般方法是
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*/
})();