簡體   English   中英

如何使可點擊的HTML文本加載<script>?

[英]How do I make clickable HTML text that loads a <script>?

您好,我試圖在我的博客中插入一些可點擊的文本,其中彈出

<script type="text/javascript" src="https://app.getresponse.com/view_webform_v2.js?u=BvFE6&webforms_id=2645901"></script>

會出現。 如何正確執行此操作? 謝謝

您必須將腳本添加到頁面:

X.onclick = function(){
    var myScript = document.createElement('script');
    mySript.src='...';
    document.querySelector('head').appendChild(script);
    }

如果要求不允許使用jquery,則還可以使用javascript在運行時使用以下代碼附加腳本:

<!doctype HTML>
<html>
<head>
    <title>Append script on runtime</title>   
    <style type="text/css">
        #text-link {
            color: blue;
            cursor: pointer;
        }
    </style>
</head>
<body>
<div id="blog-content">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam pretium sodales turpis.
    <span id="text-link">fermentum lacinia</span> ligula. Aliquam erat volutpat. 
</div>

<script type="text/javascript">     
   window.onload = function() {

    document.getElementById("text-link").addEventListener("click", addScript);

    function addScript(){
        var script = document.createElement('script');
        script.src = 'https://app.getresponse.com/view_webform_v2.js?u=BvFE6&webforms_id=2645901';
        document.head.appendChild(script);

        // if wants to support IE < 9 then instead of document.head use 
        // document.getElementsByTagName('head')[0]
    }

   }
</script>

</body>
</html>

您可以進一步增強代碼,使其僅添加一次(如果已經存在)。

<p class='appendScriptTag'> click me </p>

<script>

$('.appendScriptTag').on('click',function(){
  var s = document.createElement("script");
  s.type = "text/javascript";
  s.src = "https://app.getresponse.com/view_webform_v2.js?u=BvFE6&webforms_id=2645901";
  $("head").append(s);
})

</script>

我們可以使用jQuery通過以下代碼在運行時追加腳本:

$("<script>", {
    src: "https://app.getresponse.com/view_webform_v2.js?u=BvFE6&webforms_id=2645901",
    type: "text/javascript"
}).appendTo("body");

我們可以在單擊元素時使用相同的腳本。 請參考下面的代碼以獲取工作示例。

<!doctype HTML>
<html>
<head>
    <title>Append script on runtime</title>
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    <style type="text/css">
        #text-link {
            color: blue;
            cursor: pointer;
        }
    </style>
</head>
<body>
<div id="blog-content">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam pretium sodales turpis.
    <span id="text-link">fermentum lacinia</span> ligula. Aliquam erat volutpat. 
</div>

<script type="text/javascript">     
    $(document).ready(function() {
        $("#text-link").on("click", function() {
            $("<script>", {
                src: "https://app.getresponse.com/view_webform_v2.js?u=BvFE6&webforms_id=2645901",
                type: "text/javascript"
            }).appendTo("body");
        });
    });
</script>

</body>
</html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM