【问题标题】:Insert string from <script> into to <a href="">将字符串从 <script> 插入到 <a href="">
【发布时间】:2015-12-16 04:19:55
【问题描述】:

我有以下脚本:

<script>var b=document;var c=varName;b.write(c);</script>

我想将&lt;script&gt; 标记中的值传递给链接中的name URL 参数,以代替此处的*

`<a href="whatsapp://send?text='Hello This is My Demo Site. Visit http://example.com/ex.html?name=ABC*'"> WhatsApp </a>`

我的尝试得到了整个脚本字符串:

&lt;a href="whatsapp://send?text='Hello This is My Demo Site. Visit http://example.com/ex.html?name=ABC&lt;script&gt;var b=document;var c=varName;b.write(c);&lt;/script&gt;'"&gt; WhatsApp &lt;/a&gt;

【问题讨论】:

  • 道歉,但这完全不清楚。也许你可以请朋友或同事帮忙学英语。
  • @T.J.Crowder 我已编辑。

标签: javascript html href


【解决方案1】:

不,您不能在 HTML 属性中插入脚本。您必须先编写完整的 HTML:

<a id="caption" href="whatsapp://send?text=Hello This is My Demo Site. Visit http://example.com/ex.html">link text</a>

... 然后,您可以从 javascript 修改它:

<script>
    var a = document.getElementById("caption");
    var question = "%3F";
    var equal = "%3D";
    a.href += question + "name" + equal + "ABC" + lusername;
</script>

请注意,我确实故意逃避“?”和 "=" 形成参数时,因为我知道它们是 http://www.example.com URL 的参数,而不是 whatsapp://send URL 的参数。

【讨论】:

  • 你真的很棒 :) 很好的理解。我很抱歉我的英语不好,但你得到了我。接受:)
  • @PratikButani 谢谢。 :-)
【解决方案2】:

如果varName 的值在页面加载时是已知的,并且在 HTML 中的 script 标记中设置得早于您想要链接的位置,那么您可以使用脚本输出整个链接:

<script>
document.write(
    '<a href="whatsapp://send?text=\'Hello This is My Demo Site. Visit http://example.com/ex.html%3Fname%3DABC' +
    varName + '\'"> WhatsApp </a>'
);
</script>

如果varName 是动态的,那么您每次更改它时都需要执行Little Santi showed you 之类的操作。另请参阅他/她关于在example.com 链接文本上编码?= 的观点,我已在上面应用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-30
    • 1970-01-01
    • 2013-07-18
    • 1970-01-01
    • 2017-04-14
    • 2015-09-06
    • 2016-09-12
    相关资源
    最近更新 更多