【问题标题】:Bookmark Javascript, fill value in another site书签Javascript,在另一个站点中填写值
【发布时间】:2019-10-12 21:22:54
【问题描述】:

我尝试做一个书签 javascript

javascript:(function()  ..... etc.

这样做:

  • 我点击书签中的脚本
  • 脚本抓取 A SITE 我在实际中的位置和 打开 B SITE,在 VALUE 中填写 A SITE 的 url
  • 如果可能的话,用按钮发送它

例子:

非常感谢大家的帮助。 也许很容易,但我迷路了。

【问题讨论】:

  • 如果浏览器允许,您不认为所有网站都可以窃取您的数据吗?明智的选择是拥有一个共同的后端来处理,就像重新标记服务的工作方式一样。你的服务器可以设置 domain1 和 domain2 通用 cookie
  • 你必须创建一个浏览器扩展
  • @joyBlanks 不需要 cookie。在大多数网站上,查询字符串都可以,但在这个网站上不行 - 但是,您可以使用document.referrer

标签: javascript download bookmarklet bookmarks


【解决方案1】:

我不确定这是否可以使用单个书签,因为您需要 Javascript 在两个不同的环境中运行。

另一个问题是https://vidconverter.co/ 在使用查询字符串时会使用 302 重定向 - 例如,您不能只将位置设置为 'https://vidconverter.co' + encodeURIComponent(window.location.href),因为强制重定向会删除所需的数据。

但是,如果您不使用诸如 Referrer Control 之类的扩展程序来混淆您的referrer,您可以在通过window.location.href = 重定向后通过检查vidconverter.co 上的document.referrer 来识别源站。因此,要使用两个小书签来做到这一点:

(1) 点击第一个书签时,运行:

window.location.href = 'https://vidconverter.co'

(2) 既然你已经重定向了,点击第二个小书签,抓取第一个小书签附加的查询字符串,然后填写字段并转换:

document.querySelector('#url').value = document.referrer;
document.querySelector('#send2').click();

要运行任何不是绝对琐碎的代码,您可以考虑改用 Tampermonkey 之类的用户脚本管理器 - 用户脚本比书签工具更通用和更易于管理,并且可以自动运行。用户脚本还允许您使用 GM_setValue / GM.setValue 跨不同来源保存数据(这比上面的引荐来源技巧更可靠和灵活)。

另一种将数据从一个域传输到另一个域的方法是使用window.open,这样第一个窗口就可以引用第二个窗口,然后第二个窗口可以监听来自第一个窗口的消息,然后是第一个窗口可以使用postMessage 将其数据发送到第二个。

【讨论】:

  • 嗯……也许一键是最好的选择。但我试试。你能告诉我完整的代码吗?
  • 完整的代码。第一个书签需要分配给window.location.href,第二个书市需要用推荐人填充#url,然后点击按钮。
猜你喜欢
  • 2018-06-02
  • 1970-01-01
  • 1970-01-01
  • 2018-06-17
  • 1970-01-01
  • 1970-01-01
  • 2020-07-01
  • 2013-08-29
  • 1970-01-01
相关资源
最近更新 更多