编写document.write()的另一种方法

时间:2019-07-02 12:48:44

标签: javascript blogger

是否有另一种方法可以为此编写document.write()?

我不知道这很糟糕,我刚刚开始学习JavaScript,所以我仍然不了解很多事情。

您能帮我解决这个问题吗?

if (thisUrl.indexOf("?q=") == -1 && thisUrl.indexOf(".html") == -1) {
    if (thisUrl.indexOf("/search/label/") == -1) {
        currentPage = "page";
        if (urlactivepage.indexOf("#PageNo=") != -1) {
            currentPageNo = urlactivepage.substring(urlactivepage.indexOf("#PageNo=") + 8, urlactivepage.length)
        } else {
            currentPageNo = 1
        }
        document.write("<script src=\"" + home_page + "feeds/posts/summary?max-results=1&alt=json-in-script&callback=totalcountdata\"><\/script>")
    } else {
        currentPage = "label";
        if (thisUrl.indexOf("&max-results=") == -1) {
            perPage = 20
        }
        if (urlactivepage.indexOf("#PageNo=") != -1) {
            currentPageNo = urlactivepage.substring(urlactivepage.indexOf("#PageNo=") + 8, urlactivepage.length)
        } else {
            currentPageNo = 1
        }
        document.write('<script src="' + home_page + 'feeds/posts/summary/-/' + postLabel + '?alt=json-in-script&callback=totalcountdata&max-results=1" ><\/script>')
    }

3 个答案:

答案 0 :(得分:4)

在这种情况下,您只想向页面添加脚本。您可以使用DOM Manipulations

var script = document.createElement('script');
script.src = home_page + 'feeds/posts/summary?max-results=1&alt=json-in-script&callback=totalcountdata';
document.body.appendChild(script);

答案 1 :(得分:0)

我不知道这是否是您要寻找的,但是您可以使用document.createElement('script')创建一个DOM元素,设置其src属性,然后使用document.head.appendChild(yourObj)

答案 2 :(得分:0)

请改用document.createElement方法。为了方便起见,您可以将其包装在一个函数中。例如:

if (thisUrl.indexOf("?q=") == -1 && thisUrl.indexOf(".html") == -1) {
    if (thisUrl.indexOf("/search/label/") == -1) {
        currentPage = "page";
        if (urlactivepage.indexOf("#PageNo=") != -1) {
            currentPageNo = urlactivepage.substring(urlactivepage.indexOf("#PageNo=") + 8, urlactivepage.length)
        } else {
            currentPageNo = 1
        }
        createScript(home_page + "feeds/posts/summary?max-results=1&alt=json-in-script&callback=totalcountdata")
    } else {
        currentPage = "label";
        if (thisUrl.indexOf("&max-results=") == -1) {
            perPage = 20
        }
        if (urlactivepage.indexOf("#PageNo=") != -1) {
            currentPageNo = urlactivepage.substring(urlactivepage.indexOf("#PageNo=") + 8, urlactivepage.length)
        } else {
            currentPageNo = 1
        }
        createScript(home_page + 'feeds/posts/summary/-/' + postLabel + '?alt=json-in-script&callback=totalcountdata&max-results=1')
    }

}

function createScript(src){
    var script = document.createElement('script');
    script.src = src;
    document.head.appendChild(script);
}

如果您确实确实遇到了需要像document.write这样快速添加一些HTML的情况,则可以改用jQuery.append方法。如今,jQuery常常是不必要的,并且有其自身的缺点,但在这种情况下,它仍然比使用document.write

好得多