【问题标题】:Automatically edit url of page自动编辑页面的url
【发布时间】:2012-09-06 03:16:59
【问题描述】:

在我们学校的网站上,我们老师的家庭作业页面只显示即将完成的作业。
要显示所有作业,请单击查看全部,然后单击所有作业。

网址按以下方式变化

http://example.com/apps/classes/show_class.jsp?classREC_ID=000000
http://example.com/apps/classes/show_assignment.jsp?classREC_ID=000000&showAll=true

我已经(主要在 Stack Overflow 上)寻找解决方案,例如会自动更改 URL 的用户脚本,但我无法根据其他人的问题/答案弄清楚如何做到这一点。

为了简短起见,我将如何修改 URL,使 show_class 变为 show_assignment 并附加 &showAll=true最后。

感谢您的帮助。

【问题讨论】:

  • 您打算将其作为油脂猴脚本或类似脚本执行吗?如果是这样,您只需要触发一系列具有不同 URL 的 xmlhttprequest,然后将结果放在某处
  • @BrockAdams 我刚刚查看了那个问题,虽然它在同一个领域,但在我的水平上,我不知道如何根据我的目的调整它。这可能只是意味着我对 JavaScript 的理解水平非常低,但我认为值得提出这个问题,以便有更具体的格式化示例。
  • @Ylj,你可能是对的。并非所有重复项都是完全重复项。也不是所有重复项都已关闭(这基本上只是停止了新的答案并将人们推荐给较旧的和可能更好的答案)。只删除最差的重复项——这会使大多数用户看不到问题。

标签: javascript url redirect userscripts


【解决方案1】:

这样就可以了:

window.location = String(window.location).replace(/show_class/,"show_assignment") + "&showAll=true";

【讨论】:

  • 当我尝试您的代码时,页面不断刷新并经历 URL 更改(一遍又一遍地添加“&showAll=true”)。我一直在尝试编辑您的代码,但到目前为止没有成功。
  • 我的愚蠢错误,我设置了@include 以便它会继续重新加载。感谢您的帮助。
【解决方案2】:

您是否尝试修改链接、修改按钮或重定向所有show_class.jsp 页面?

如果您尝试修改链接、按钮等。请编辑您的答案以显示目标页面的相应 HTML 源代码。

如果您想重定向,应该使用如下脚本:

// ==UserScript==
// @name        _Redirect to see all homework assignments
// @include     http://example.com/apps/classes/show_class.jsp?classREC_ID=*
// @run-at      document-start
// ==/UserScript==

var newURL  = location.href.replace (/show_class\.jsp/i, "show_assignment.jsp")
            + "&showAll=true"
            ;

//--- Keep browser history / back-button, uncluttered.
location.replace (newURL);

【讨论】:

  • 我尝试使用您的脚本,但是,就像 Rhyono 的脚本一样,该脚本会不断加载,并且页面会不断在末尾添加“&showAll=true”。我尝试调整你的脚本,Rhyono 的脚本,并将每个部分添加在一起,但到目前为止,我得到的结果与以前相同。任何关于它为什么会继续加载脚本的见解都会非常有帮助。 (我已经尝试过您的旧脚本和更新的脚本,如果它有所作为。)
  • 哦,抱歉,没有真正回答您的第一个问题。我想重定向所有 show_class 页面,这样作业页面就变成了“所有作业”页面。
  • 我的回答脚本不应该循环,因为show_assignment 页面与@include 指令不匹配。您必须根据我显示的内容修改了 include 指令。发布或链接到您的确切脚本。 ... 提供 2 个匹配的 exactunedited 示例 URL,因此我们可以确保包含和正则表达式匹配。您可以在评论中执行此操作(如果需要,您可以稍后删除)。
  • 为了更清楚,脚本只有在我尝试其他编辑后才继续。当我使用您的脚本(第一个和更新的)时,页面不会重定向。很抱歉给您带来麻烦。现在 Rhyono 的脚本正在运行,我只需要使 @include 更准确,因为我为所有“show”页面而不是“show_class”设置了它。再次尝试您的脚本时(刚刚),我只编辑了“示例”,所以我不确定问题是什么。
  • 刚才使用你的脚本时,我被重定向到一个未定义的页面。 (example.com/apps/classes/undefined&showAll=true) 另外,当您提到 javascript-regex 时,您是在说 @include 行还是脚本中的其他内容?最后,我刚刚在你的脚本部分中添加了后退按钮到 Rhyono 的脚本中(添加了“var newURL =”),但是你的脚本还有什么不同呢?除了更复杂的(至少对我而言)格式之外,我无法说出为什么你的不能工作,也想不出任何不能工作的原因。我正在编辑“示例”部分。
猜你喜欢
  • 1970-01-01
  • 2021-05-28
  • 1970-01-01
  • 1970-01-01
  • 2012-03-02
  • 2018-06-25
  • 2019-04-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多