将cpp文件的内容导入我的网页 我有一个C++(.CPP)文件,内容我想在我的网页上格式化。我把它存放在本地;称之为myFile.cpp。我需要的过程是: 获取存储为JavaScript字符串的myFile.cpp的内容codeText 将所有codeText字符替换为>l 将codeText制作成的内部HTML(谷歌的代码预处理器将应用于其中)

将cpp文件的内容导入我的网页 我有一个C++(.CPP)文件,内容我想在我的网页上格式化。我把它存放在本地;称之为myFile.cpp。我需要的过程是: 获取存储为JavaScript字符串的myFile.cpp的内容codeText 将所有codeText字符替换为>l 将codeText制作成的内部HTML(谷歌的代码预处理器将应用于其中),javascript,Javascript,这是我的可怕尝试,但没有成功: var codeText; var codeFile = new XMLHttpRequest(); codeFile.open("GET", "myFile.cpp", false); codeFile.onreadystatechange = function () { if(codeFile.readyState === 4) {

这是我的可怕尝试,但没有成功:

        var codeText;
        var codeFile = new XMLHttpRequest();
        codeFile.open("GET", "myFile.cpp", false);
        codeFile.onreadystatechange = function ()
        {
          if(codeFile.readyState === 4)
          {
            console.log(codeFile.status);
            if(codeFile.status === 200 || codeFile.status == 0)
            {
              codeText = codeFile.responseText;
            }
          }
        }
        codeFile.send(null);
    codeText = AB_Escape(codeText);
    document.getElementById("blah").innerHTML = codeText;
在哪里

function AB_Escape(txt)
{
    txt.replace("<","&lt;");
    txt.replace(">","&gt;");
    return txt;
}
函数AB_Escape(txt)
{
替换(“,”);
返回txt;
}
这不起作用:我的控制台读取未捕获的类型错误:无法将属性“innerHTML”设置为null

希望这能让你知道我在做什么。如何才能正确执行此操作?

移动:

codeText = AB_Escape(codeText);
document.getElementById("blah").innerHTML = codeText;
到if循环,检查状态是否等于200:

if(codeFile.status === 200 || codeFile.status == 0)
{
    codeText = codeFile.responseText;
    codeText = AB_Escape(codeText);
    document.getElementById("blah").innerHTML = codeText;
}

您必须在收到代码文件后处理代码文本。调用send命令时,尚未收到该文件

在到达元素之前执行脚本,
在正确的地点和/或正确的时间,它可以正常工作
因此:将脚本放在底部或在Dom加载时执行它

不,简单!那么就不需要手动转义任何内容了。两者都可能重复(不要使用SJAX!)和