我可以更改Bookmarklet中的'window.location'属性,然后继续对新文档执行操作吗?

时间:2013-02-09 11:51:41

标签: javascript bookmarklet wizard

我想知道您是否可以引导用户执行一系列步骤,这些步骤意味着使用Bookmarklet中的操作访问不同的网页。我想要的是一种向导或自动化操作跨网页。

2 个答案:

答案 0 :(得分:2)

不敢。你所描述的实际上非常危险。如果书签中有任何恶意代码,它可以访问您登录的每个站点,电子邮件,亚马逊等。攻击的某些伪代码可能如下所示:

window.location = "www.gmail.com";
ajax.post("www.gmail.com/deleteAllMail");
window.location = "www.amazon.com";
ajax.post("www.amazon.com/buyReallyExpensiveStuff");

答案 1 :(得分:1)

如果您在iframe中打开新页面,则可以部分使用。但是,您将无法再修改网页内容,只需修改iframe的网址,然后浏览不同的网站(如幻灯片)。

请注意,如果您是网页的所有者,则可以使用postMessage与他们进行互动,即使他们位于不同的网域中。

或者,您可以在服务器端进行“隧道传输”,并使用您需要的JS为每个团队注入页面。

但是,如果您不是网页的所有者,那么最简洁的方法就是为您想要支持的浏览器创建一个简单的无重新启动加载项。