gpt4 book ai didi

javascript - 组合两个书签

转载 作者:行者123 更新时间:2023-11-29 15:54:04 25 4
gpt4 key购买 nike

昨天我发现了 Bookmarklets 并且完全爱上了它。我写了几个来减少我最喜欢的网站上一些常见任务的点击次数。如果可能的话,我现在想做的是将其中两个小书签的操作合并到一个脚本/链接中。当前设置如下:Bookmarklet 1 (B1) 执行一个操作(在 URL 1 上)加载页面 (URL 2),然后 Bookmarklet 2 (B2) 在表单中输入一组标准数据并提交。

我尝试了以下各种变体:

javascript:(function(){w=window.open(codeFromB1,'CatchyPageTitle'); w.TryToWriteSomethingToTheTheNewWindowToPassAndCallFunctionB2;)}();

但我对 w.TryToWriteSomethingToTheWindow 的所有尝试都会产生不同类型的错误。我最近的尝试是使用类似的东西:

alert(w.document.getElementsByTagName("form").length);它给出了第一次调用时来自调用页面的计数,但是第二次调用时来自新窗口的计数...

不管怎样,这就是我今天的故事。

总而言之,我是一个迷失的灵魂,需要指引。我有两个发生在两个不同页面上的脚本操作,我想将它们组合成一个可以保存为书签的代码片段。我需要有人给我指出正确的方向,这样我才能弄清楚如何“链接”两个页面/脚本,从而创建一个壮观的书签。

在此先感谢您的帮助。


另外,我有一个模拟数据 Array(),我用它来完成脚本的其余部分,并为那些比我更聪明的人发现了一个问题。B2 的一部分如下:

wdoc.forms[0].t5.value=#;

其中 t5 是表单中输入/文本的名称。为什么这样做有效但是:

thisInput = 't'.concat(i);//在 for 循环中 i=5wdoc.forms[0].thisInput.value=#;

给我一个错误 - “thisInput”未定义。我还尝试使用输入/文本名称创建一个数组,例如:

文档.forms[0].thisInput[i].value=#;

但这给出了同样的错误。有什么建议吗?

最佳答案

URL 1 与 URL 2 在不同的域(或子域)上吗?如果是这样,您将遇到跨域问题。您可以使用 HTML5 cross-window messaging 解决它,至少对于支持它的浏览器来说是这样。

如果您愿意特定于 Firefox 并要求任何使用它的人都安装 Greasemonkey 扩展,您可能也对 Greasemonkey 感兴趣。我用它来轻松编写多页小书签,这些小书签可以处理复杂的表单,或者从多个搜索页面收集数据。在脚本的开头,您只需根据 document.location.href 选择下一步要做什么。您还可以利用 the window.name hack在页面之间共享信息。

关于javascript - 组合两个书签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1646076/

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