Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.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添加非http url的书签吗?_Javascript_Bookmarklet - Fatal编程技术网

我可以使用javascript添加非http url的书签吗?

我可以使用javascript添加非http url的书签吗?,javascript,bookmarklet,Javascript,Bookmarklet,我有一个bookmarklet,即它不是以“http:”开头,而是以“javascript:”开头。没有问题,它工作正常。 当我想将其部署到用户时,就会出现问题。我想向他们展示一个链接,他们只需单击即可添加到收藏夹中。无论我使用什么方法(在web上找到的示例,或使用jFav的JQuery),我在单击链接时都会出现一个javascript错误“权限被拒绝”,尽管当指向书签的链接是一个经典的“http”链接时,它会完美地工作。 我相信这在浏览器中是安全的,但是有没有办法避免呢 您可以要求用户将boo

我有一个bookmarklet,即它不是以“http:”开头,而是以“javascript:”开头。没有问题,它工作正常。
当我想将其部署到用户时,就会出现问题。我想向他们展示一个链接,他们只需单击即可添加到收藏夹中。无论我使用什么方法(在web上找到的示例,或使用jFav的JQuery),我在单击链接时都会出现一个javascript错误“权限被拒绝”,尽管当指向书签的链接是一个经典的“http”链接时,它会完美地工作。

我相信这在浏览器中是安全的,但是有没有办法避免呢

您可以要求用户将bookmarklet拖放到他们的书签或工具栏上。

这确实是一种安全措施。如果一个用户被诱骗加入书签并运行一个javascript:URL,那几乎就是全局跨站点脚本


您所能做的就是向用户显示一个javascript:链接,并要求他们通过右键单击书签或拖动到书签将其添加到书签中。您还应该写出链接,以便它可以被复制、粘贴和手动添加书签,因为有些浏览器不会为JavaScript链接显示右键单击书签,而其他浏览器可能没有可见的书签栏。

是的,我期待着这个答案。这就是我已经在使用的东西,我被那些不知道如何添加书签的用户吓了一跳,他们来找我发牢骚。不管怎样。更不用说如果你想一次部署几个bookmarklet的更新了。删除旧的,拖动新的为每一个!我不知道你用的是什么浏览器,但IE8不能用。这适用于公司应用程序,每个人都在使用IE6-8。对于IE,用户需要将“公司网站”添加到其信任区域,以启用拖放功能。当然,我会了解你的想法,这对他们来说太难了。