gpt4 book ai didi

javascript - 通过 window.location 更改 URL 后如何运行代码?

转载 作者:行者123 更新时间:2023-11-30 08:54:02 25 4
gpt4 key购买 nike

我正在这样做,但它不起作用:

window.addEventListener("load", function load(event){
alert('hola');
},false);

window.location.assign("about:blank");

这是一个 Greasemonkey 脚本。新位置已加载,但从未显示警报。

最佳答案

一旦您更改了 window.location,您的 Greasemonkey 脚本的当前实例就会被清除。要在位置更改后“运行代码”,您需要将脚本设置为在新页面上触发(在本例中为 about:blank),然后使用一个标志来表示新页面已通过此脚本重定向原始页面到达。

  1. 确保脚本的 @include@match 指令在新页面上触发。
  2. 使用 GM_setValue() 设置标志,让脚本知道它已被故意转世。

这是一个完整的工作脚本,说明了该过程:

// ==UserScript==
// @name _Fire after redirect to about:blank
// @include about:blank
// @include http://YOUR_SERVER.COM/YOUR_PATH/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_deleteValue
// ==/UserScript==

//-- Are we on a blank page after a redirect by this script?
var bAfterRedirect = GM_getValue ("YouHaveBeenRedirected", false);

//-- Always erase the stored flag.
GM_deleteValue ("YouHaveBeenRedirected");

if (bAfterRedirect && location == 'about:blank') {
//-- DO WHATEVER YOU WANT WITH THE BLANK/NEW PAGE HERE.
$("body").append (
'<h1>This content was added after a GM redirect.</h1>'
);
}
else if (location != 'about:blank') {
/*-- If we are on the original target page, signal our next incarnation
that it was triggered by a redirect. Then redirect to about:blank.
*/
GM_setValue ("YouHaveBeenRedirected", true);
location.assign ("about:blank");
}

关于javascript - 通过 window.location 更改 URL 后如何运行代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15276070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com