书签用于将 URL 传递到表单字段

Bookmarklet to pass URL to form field

本文关键字:表单 字段 用于 URL 书签      更新时间:2023-09-26

我想创建一个书签,允许用户在浏览时即时提交来自网站的URL。

我正在寻找此书签的三种可能实现。

  1. 只需单击书签,即可转到包含我的表单字段的页面,并将它们刚刚来自的 URL 输入到字段中。

  2. 只需单击书签,即可进入带有我的表单字段的页面,并将他们从上一页突出显示的链接输入到该字段中。

  3. 首选选项 - 单击书签,将打开一个弹出窗口(在大小和功能上类似于Twitter的推文框),其中我的表单字段预填充了他们单击书签的页面的URL。比如Twitter的推文框和Facebook的分享框。

我通常不只是赠送代码,但这很简单,我认为值得分享和解释。

压缩:

javascript:(function(f,s,n,o){window.open(f+encodeURICompnent(s),n,o)}('http://example.com?url=',window.location,'yourform','width=300,height=200'));

扩大

(function (formurl, site, name, options) {
    window.open(
        formurl+encodeURIComponent(site),
        name,
        options
    );
}('http://example.com?url=', window.location, 'yourform', 'width=300,height=200'));

这种工作方式是它只是调用一个匿名闭包来将变量传递给window.open函数。它将当前页的位置作为查询字符串中的uri值传递。

在包含表单的页面上,需要使用查询字符串中的值填充正确的字段。

虽然这可以不使用闭包来编写,但你需要确保没有来自任何被调用的返回值,因为javascript:<string value>将使用<string value>中的任何文本重写 DOM。