【问题标题】:Redirecting to a page in a domain using greasemonkey使用greasemonkey重定向到域中的页面
【发布时间】:2011-03-21 14:29:28
【问题描述】:

基本上我想访问网站http://www.domain.com

我想做的是在登录时,它应该直接带我去

http://www.domain.com/access.aspx

但我对java脚本知之甚少,到目前为止我做到了,但它不断地在循环中重定向

http://www.domain.com/access.aspx/access.aspx/access.aspx/access.aspx/access.aspx/access.aspx

为什么会一次又一次地重定向,我只想让它重定向一次。

这是我现有的代码

var loc = window.location.href; var a = loc +"access.aspx"; window.open(a);

我使用单独的脚本进行登录,并单独用于重定向。

【问题讨论】:

  • 您如何重定向 - 请发布您已有的代码。请解释一下“登录”是什么意思——你的 GM 脚本是否让用户登录?
  • var loc = window.location.href; var a = loc +"WAN1.html"; window.open(a);
  • 这有点帮助,但它不会告诉我们重定向何时发生 - 如果它被盲目地应用于域http://www.domain.com,那么您将看到您所描述的。您需要确定何时执行此操作。您可以在 GM 脚本中添加 exclude 规则,或者检查当前窗口位置是否已经是访问页面。

标签: javascript url redirect greasemonkey


【解决方案1】:

您似乎没有检查是否需要重定向,所以我怀疑您的重定向逻辑正在被应用,即使您已经在您想要的页面上。考虑以下其中一项:

  1. 添加一个exclude rule,这将导致您的脚本access.aspx页面上执行。

    @exclude @987654322@.

  2. 在重定向之前检查,例如

    var loc = window.location.href; 
    
    if(loc != 'http://www.domain.com/access.aspx'){
        var a = loc +"access.aspx"; 
        window.open(a); 
    }
    

【讨论】:

  • 但问题是我想在同一个选项卡中打开它......而不是另一个窗口......其次域可以是可变的(在我的情况下)......所以如何应对那
  • 回复。在同一个选项卡/窗口中打开:为什么你的 sn-p 有一个 window.open() 呢?如果你只想重定向页面,你只需要change the window.location value
  • 对于域,您可以在 Greasemonkey 的包含/排除规则中使用通配符,但它是否遵循基本模式?您要重定向到的页面是否始终位于http://*/access.aspx?此处提供更多信息会很有用。
  • 基本上它的 113.203.128.0/ACCESS.aspx - 113.203.129.255/ACCESS.aspx
  • 在这种情况下,我相信 http://*/access.aspx 应该是您需要为其添加排除规则的地方。
猜你喜欢
  • 1970-01-01
  • 2021-08-08
  • 2010-12-06
  • 1970-01-01
  • 2016-04-20
  • 1970-01-01
  • 2013-01-06
  • 2013-03-28
  • 1970-01-01
相关资源
最近更新 更多