document.write() 的另一种写法

An alternative way to write document.write()

是否有另一种方法可以为此编写 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>')
    }

在您的情况下,您只想将脚本添加到页面。您可以使用 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);

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

改用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

要好得多