【问题标题】:Hard code window.document.referrer硬编码 window.document.referrer
【发布时间】:2015-05-18 18:01:54
【问题描述】:

我有一个表单需要从引用 URL 中提取一个值并将其设置为输入字段的值。在推送更改之前,我需要能够在本地对此进行测试,但不确定如何在 chrome/firefox 中设置标头以对 URL 进行硬编码。

我正在使用以下内容来获取引荐来源网址,应用正则表达式来获取我需要的内容,并将结果设置为 ID 为 imageid 的文本:

var regexp = /assets\/(\d+)/;
        var encodeID = regexp.exec(window.document.referrer);
        if (encodeID !== null && encodeID.length == 1){
           $("#imageid").val(encodeID[1]);
        }else{
          $("#imageid").val();
        }

【问题讨论】:

  • 当浏览器的donottrack复选框被勾选时你会怎么做?因为 很多 会这样做,即使他们没有这样做,https 请求也不再添加引荐来源网址,因为这会泄露可用于安全目的的数据。
  • 这不是问题,因为使用此特定页面的人不会使用该选项。 referrer 页面最后传递一个带有数值的 URL,该 URL 被剥离并设置到一个文本框中以加快用户进程。
  • 如果你想硬编码,为什么不直接使用字符串而不是window.document.referrer
  • 我认为问题在于我试图在点击函数中提取引荐来源网址。

标签: javascript jquery referrer


【解决方案1】:

简单的解决方案是运行应用程序并在页面上拉引引荐来源网址,将此逻辑应用于控制台中的页面:

var regexp = /assets\/(\d+)/;
var encodeID = regexp.exec(window.document.referrer);
if (encodeID !== null && encodeID.length == 1){
   $("#imageid").val(encodeID[1]);
}else{
    var regexp = /assets\/(\d+)/;
    var encodeID = regexp.exec(window.document.referrer);
   $("#imageid").val(encodeID[1]);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-22
    • 2012-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多