将cpp文件的内容导入我的网页[重复]
Posted
技术标签:
【中文标题】将cpp文件的内容导入我的网页[重复]【英文标题】:Importing content of a cpp file into my webpage [duplicate] 【发布时间】:2014-07-24 10:25:23 【问题描述】:我有一个 C++ (.cpp) 文件,我希望在我的网页上对其内容进行格式化。我将其存储在本地;称之为myFile.cpp
。我需要的流程是:
codeText
的 myFile.cpp
的内容
用<
替换所有codeText
的<
字符,用&gtl;
替换所有>字符
使codeText
成为<pre class="prettyprint" id="blah">
的内部html(Google 的代码修饰符将在其中应用)
所以这是我失败的可怕尝试:
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("<","<");
txt.replace(">",">");
return txt;
这不起作用:我的控制台显示Uncaught TypeError: Cannot set property 'innerHTML' of null
希望这能让您了解我想要做什么。我怎样才能正确地做到这一点?
【问题讨论】:
不,只是don't useinnerHTML
but the DOM!不需要手动转义任何东西。
How to return the response from an AJAX call?(不要使用 SJAX!)和 Why does jQuery or a DOM method such as getElementById
not find the element? 可能重复
【参考方案1】:
您的脚本在到达元素之前执行, 在正确的地方和/或在正确的时间它工作正常http://www.freakstyle.it/cpp/ 所以:将脚本放在底部或在 Dom 加载时执行
【讨论】:
【参考方案2】:移动:
codeText = AB_Escape(codeText);
document.getElementById("blah").innerHTML = codeText;
到检查状态是否等于 200 的 if 循环:
if(codeFile.status === 200 || codeFile.status == 0)
codeText = codeFile.responseText;
codeText = AB_Escape(codeText);
document.getElementById("blah").innerHTML = codeText;
收到代码文件后必须处理codeText。调用 send 命令时,尚未收到文件。
【讨论】:
以上是关于将cpp文件的内容导入我的网页[重复]的主要内容,如果未能解决你的问题,请参考以下文章
将大型 .sql 文件导入数据库 - 重复超时错误 phPMYAdmin