2010-02-15 113 views
13

基本上我想加载页面并在JS书签上执行JS ...

  1. 导航到相应网页
  2. 等待网页加载
  3. 执行JS功能/警报/不管该页面

所有从上单一书签。这可能吗?我似乎无法为我工作,但这可能是因为我个人的失败。

回答

3

你想为Firefox安装Greasemonkey扩展。 (或gm4ie用于IE,或者greasemetal为Chrome(PersonalizedWeb也适用于Chrome浏览器一个更简单的方法),greasekit Safari浏览器,或user.js歌剧)

的Greasemonkey让你做的正是这一点...自动运行脚本每页加载(您可以选择加载的页面/网站)

否则,您需要点击每个页面加载的小书签才能运行脚本。

+2

所以Greasemonkey的(或等值$浏览器)是这个唯一的解决办法?我的目标是制作一个我可以与其他人分享的书签,而不是在每种情况下都需要一个附加组件。 对于某些情况下,我努力解决的问题是我学校的网站。网页设计人员认为,在网站上建立所有链接仅仅是通过PHP和AJAX的一些神秘组合更新网页的JS链接将是一个绝妙的主意。不幸的是,由于他们这样做的方式,目前不可能链接到你的课程作业页面。 – scikidus 2010-02-16 03:09:57

+2

相反,您必须说“进入网站,然后单击此处,然后单击此处,然后单击此处。”我的希望是制作一个加载网站的小书签,一旦加载的页面运行必要的JS链接来检索所需的页面。 – scikidus 2010-02-16 03:10:59

+0

啊,@ scikidus我看到了...很不幸,这听起来像是这个网站超出了你的控制范围。您可以创建/使用小书签,但无法触发它自动运行(不使用Greasemonkey类型的解决方案)。你有没有机会与你的学校的工作人员交谈,为网站提供修补程序?至于原始开发者(-1为JS链接) – scunliffe 2010-02-16 13:44:01

1

鉴于没有更好的解决方案,我认为我会抛弃Opera本身支持用户脚本在每个页面加载运行。从那里,你可以让脚本检查当前的URL,并在适当的页面上运行。

See here for documentation

6

我发现要做到这一点,而无需Greasemonkey的或类似的东西是写你的JS,以便它检查,看它是否是适当的页面上最简单的方法,并且去那里,如果它不。如果它在页面上,那么它执行JS/alert/whatever。您必须使用书签两次,但您只需要一个书签,并且用户可以更快/更轻松地点击/自己。因此,代码是这样的:

if(this.document.location.href != "[url]") { //Are we on the page yet? 
    this.document.location.href = "[url]"; // If not, go there 
} 
else { 
    if (document.readyState === "complete") { //Wait for the page to finish loading 
    // DO STUFF 
    } 
}