Javascript js下载div并将meta附加到html

Javascript js下载div并将meta附加到html,javascript,html,Javascript,Html,我使用下面的方法下载一个目标标签在我的网页作为一个html文件 function downloadInnerHtml(filename, elId, mimeType) { var elHtml = document.getElementById(elId).innerHTML; if (navigator.msSaveBlob) { // IE 10+ navigator.msSaveBlob(new Blob([elHtml], { type: mimeTy

我使用下面的方法下载一个目标标签在我的网页作为一个html文件

function downloadInnerHtml(filename, elId, mimeType) {
    var elHtml = document.getElementById(elId).innerHTML;
    if (navigator.msSaveBlob) { // IE 10+ 
        navigator.msSaveBlob(new Blob([elHtml], { type: mimeType + ';charset=utf-8;' }), filename);
    } else {
        var link = document.createElement('a');
        mimeType = mimeType || 'text/plain';

        link.setAttribute('download', filename);
        link.setAttribute('href', 'data:' + mimeType  +  ';charset=utf-8,' + encodeURIComponent(elHtml));  

        var metaTag=document.createElement("meta");
        metaTag.name = "viewport";
        metaTag.content = "width=device-width, initial-scale=1.0, maximum-scale=1.0";        
        document.head.appendChild(metaTag);

        document.body.append(link);
        link.click(); 
        document.body.removeChild(link);
    }
}

我面临的问题是,创建的输出html不包含meta标记。

,因为您只下载
elHtml
encodeURIComponent(elHtml)

你需要做什么

var elHtml = document.getElementById(elId).innerHTML;
elHtml = `<meta..... >`+ elHtml;
var elHtml=document.getElementById(elId).innerHTML;
elHtml=``+elHtml;