簡體   English   中英

使用JavaScript在頁面加載時動態創建HTML

[英]Using JavaScript to dynamically create HTML on page load

這是我要做什么的非常簡短的背景。 我需要創建一個非常小的JavaScript塊,將其分配給許多網站以嵌入其主頁中。 然后,當訪問者訪問這些主頁時,將自動調用一個URL,該URL收集某些統計信息並返回一個小圖像。 我已經將這些設置如下:

        <script>
            /* Determine if there is a cookie already exists and get its value if not. */
            var userId;
            match = document.cookie.match(new RegExp("someUserId" + '=([^;]+)'));
            if (match)
                userId = match[1];
            else {
                /* generate a random 10 character string */
                userId = (Math.random() + 1).toString(36).substring(5, 15);

                /* Store this as a cookie value */
                <needs to be done>
            }

            /* This is what I need help with. A page is called when the home page loads to collect some stats and return a small image */
            <a href="http://www.SomeAnalysisSite.com/"><img src="http://www.SomeAnalysisSite.com/Log/?Id=1@userId=xxx" alt=""/></a>
        </script>

我不知道該怎么做的是最后一行(帶有img標簽)。 在生成“ userId”的值之后,我需要動態生成此代碼並將其插入DOM(我認為),以便可以將其作為查詢參數包含在img src URL中。 還是有更好的方法? 當然,在將其發送到第三方網站之前,我將對其進行最小化。

將最后一行替換為:

document.write('<a href="http://www.SomeAnalysisSite.com/"><img src="http://www.SomeAnalysisSite.com/Log/?Id=1@userId=' + userId + '" alt=""/></a>');

並檢查您是否要在以上行中用&代替@。

  1. 產生一個userId;
  2. 使用新的userId創建網址;
  3. 創建一個新的img元素:document.createElement('img');
  4. 插入一個新的src屬性img.setAttribute('src',imgUrl);
  5. 創建一個新的元素:document.createElement('a');
  6. 插入一個新的href屬性link.setAttribute('href',linkUrl);
  7. 在“ a”鏈接中插入“ img”。appendChild(img);
  8. 將“ a”元素插入“ somediv”元素內的dom

 var userId; /*1*/ userId = (Math.random() + 1).toString(36).substring(5, 15); var siteUrl = "http://www.SomeAnalysisSite.com/" /*2*/ var imgUrl = siteUrl + "Log/?Id=1@userId=" + userId; var linkUrl = siteUrl; /*3*/ var img = document.createElement('img'); /*4*/ img.setAttribute('src', imgUrl); /*5*/ var link = document.createElement('a'); /*6*/ link.setAttribute('href', linkUrl); /*7*/ link.appendChild(img); /*8*/ document.getElementById("somediv").appendChild(link); 
 <html> <body> <div id="somediv"> </body> <script> </script> </html> 

暫無
暫無

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

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