在“ /”之后复制URL并粘贴到按钮上

时间:2018-10-25 14:39:00

标签: javascript html

脚本 已经可以使用,但是我想知道是否可以仅在“ /”(“ 斜线)。

我的市场营销活动在“ /”知道用户来自哪里之后添加了不同的参数,例如:XV-MEL-OM-REVHL-X-X-POP-X-X。

此FORM是一个POPUP,我需要在“ /”后的“隐藏”输入中复制参数,以了解用户来自何处。

脚本:

    <script type="text/javascript">
    function Copy() 
    {
        var Url = document.getElementById("paste-box");
        Url.value = window.location.href;
        Url.focus();
        Url.select();  
        document.execCommand("Copy");
    }

HTML:

    <form action="https://ws.inversapub.com/subscribe" method="POST" target="hiddenFrame">

  <input name="emailAddress" type="email" required="" oninput="this.setCustomValidity('')" oninvalid="this.setCustomValidity('Preencha um endereço de e-mail válido.')" placeholder="Coloque seu e-mail aqui" class="input-email-popup">

   <input type="submit" value="QUERO DOBRAR MEU DINHEIRO AINDA ESTE ANO" onclick="Copy();" class="btn-submit-popup om-trigger-conversion">
  <input type="hidden" name="sourceId" id="paste-box" value="XV-MEL-OM-REVHL-X-X-POP-X-X">

  <input name="listCode" type="hidden" value="inv_hotlist_revhl"/>

  <input name="redirect" type="hidden"  value="#" />

  <input name="email_page" type="hidden" value="inv_welcome_revhl"/>

</form>

我的网址是:http://lp.inversapub.com/teste-lp-optin/ 它仅复制/ teste-lp-option /

顺便说一句,如果在“ /”后面没什么,我是否无法添加参数“ XV-MEL-OM-REVHL-X-X-POP-X-X”?

  

哈斯塔Dhana 解决方案正在运行!但是,如果在“ /”之后没什么,我需要添加参数“ XV-MEL-OM-REVHL-X-X-POP-X-X”

3 个答案:

答案 0 :(得分:1)

我认为您正在寻找Location APIlocation.pathname属性。

您的示例代码:

function Copy() 
{
  var Url = document.getElementById("paste-box");
  Url.value = window.location.pathname;
  Url.focus();
  Url.select();  
  document.execCommand("Copy");
}

编辑:

要添加默认参数,您可以使用以下正则表达式测试位置:

function Copy() 
{
  var Url = document.getElementById("paste-box");
  Url.value = window.location.pathname + (/\/$/.test(location.pathname) ? "XV-MEL-OM-REVHL-X-X-POP-X-X" : "");
  Url.focus();
  Url.select();  
  document.execCommand("Copy");
}

答案 1 :(得分:0)

您可以使用window.location.pathname代替window.location.href来仅使用URL的路径部分。如果您需要/之后的所有内容(例如GET参数和哈希值),则可以获取URL并删除原始部分:

window.location.href // http://example.com/path?get=value#bang
window.location.origin // http://example.com
window.location.href.slice(window.location.origin.length) // /path?get=value#bang

如果要插入整个URL但仅复制其中一部分,则可以查看selectionStartselectionEnd属性。这是一个不错的评论:https://stackoverflow.com/a/3085656/3641734

答案 2 :(得分:0)

您可以使用lastIndexOf()函数在URL中找到/字符的最后一部分:

function Copy() 
{
    var Url = document.getElementById("paste-box");
    Url.value = window.location.href.substr(window.location.href.lastIndexOf('/') + 1);
    Url.focus();
    Url.select();  
    document.execCommand("Copy");
}