gpt4 book ai didi

在 C++ 中作为字符串使用时,在 html 文件中工作的 Javascript 代码不起作用

转载 作者:行者123 更新时间:2023-11-28 08:26:02 24 4
gpt4 key购买 nike

我有一个带有 javascript 代码的 html 文件,文件的内容如下:我在 Safari 上试过这段代码,它运行良好。但是当我在 Firefox 上尝试这个时,它不起作用。谁能建议如何让它在 Firefox 上运行。

<html><head></head><body><button type="button" onClick="handleButtonClick();">undo</button> <button type="button">redo</button><select><option value="V1">V1</option><option value="V2">V2</option><option value="V3">V3</option><option value="V4">V4</option><option value="V5">V5</option></select>  <script type="text/javascript">function handleButtonClick(){var xmlHttp, handleRequestStateChange; handleRequestStateChange = function() {if (xmlHttp.readyState==4 && xmlHttp.status==200) { var substring=xmlHttp.responseText; alert(substring); } }      
xmlHttp = new XMLHttpRequest();xmlHttp.open("GET", "http://csce.unl.edu:8080/test/index.jsp?id=c6c684d9cc99476a7e7e853d77540ceb", true);xmlHttp.onreadystatechange = handleRequestStateChange; xmlHttp.send(null);}</script>
</body>
</html>

如果您在单击撤消按钮时将上述代码复制到您的系统,您将获得内容但是我通过 C++ 作为字符串插入的相同代码不起作用……我对上面的代码感到奇怪的是,它需要在 xmlHttp = new XMLHttpRequest(); 之前输入(返回键);否则它也不适用于 html 页面。我在 C++ 代码中实现了同样的事情,但代码不起作用。代码如下:

std::string login="<button type=\"button\" onClick=\"handleButtonClick();\">undo</button> <button type=\"button\">redo</button><     select><option value=\"V1\">V1</option><option value=\"V2\">V2</option><option value=\"V3\">V3</option><option value=\"V4\">V4</option><option value=\"V     5\">V5</option></select>  ";

std::string jscriptstring1="<script type=\"text/javascript\">function handleButtonClick(){var xmlHttp, handleRequestStateChange; handleRequestStateChang e = function() {if (xmlHttp.readyState==4 && xmlHttp.status==200) { var substring=xmlHttp.responseText; alert(substring); } }";

std::string jscriptstring2="xmlHttp = new XMLHttpRequest();xmlHttp.open(\"GET\", \"http://csce.unl.edu:8080/test/index.jsp?id=c6c684d9cc99476a7e7e853d77 540ceb\", true);xmlHttp.onreadystatechange = handleRequestStateChange; xmlHttp.send(null);}</script>";

std::string ret="\n";

login+=jscriptstring1;
login+=ret;
login+=jscriptstring2;

谁能告诉我哪里出了问题?

最佳答案

首先,如果您要创建一个 XMLHttp 对象以在不同的浏览器中请求服务器,请确保它在您使用的浏览器中有效(不同的浏览器有不同的方式来引用 XMLHttp object), 通常这个对象创建如下:

function getRequestObject(){
var xmlHttp;
if (window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); }
else if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); }
return xmlHttp;
}

另一方面,根据您的浏览器,您可以调试脚本以查看浏览器返回的错误代码(如果有)。

关于在 C++ 中作为字符串使用时,在 html 文件中工作的 Javascript 代码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4038095/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com