我想创建一行.js
导入,可以为我的网页添加外部功能。与插件等非常相似。
这就是我目前所拥有的:
<!--index.html-->
<head>
</head>
<body>
<!-- Here is my 1 line script -->
<script src="importExHtml.js"></script>
</body>
这是我要导入的脚本:
/*importExHtml.js*/
function createRequestObject() {
var obj;
var browser = navigator.appName;
if (browser == "Microsoft Internet Explorer") {
obj = new ActiveXObject("Microsoft.XMLHTTP");
} else {
obj = new XMLHttpRequest();
}
return obj;
}
var http = createRequestObject();
function sendReq(req) {
http.open('get', req);
http.onreadystatechange = handleResponse;
http.send(null);
}
function handleResponse() {
if (http.readyState == 4) {
var response = http.response;
var newdiv = document.createNode("div");
newdiv.innerHTML += response;
document.body.appendNode(newdiv);
}
}
sendReq("external.html");
我在这里找到了这个代码。它将ajax请求发送到另一个页面 为此,我使用Chrome的Web服务器将ajax req发送到html 我有external.html
**external.html**
<!-- For example here I import jquery etc. -->
<script src="other.js"></script>
<script type="text/javascript">
alert("Hello from external");
</script>
<h1>hello!</h1>
一切正常,我在 index.html 上获得了<h1>hello!</h1>
,但 external.html 中的脚本无效。我该如何解决?或许我的愿景完全不正确?
答案 0 :(得分:0)
您无法直接将fmincon
标记添加为文字。好吧,你可以添加它,但代码不会运行。这就是脚本必须通过<script>
注入的原因,而document.createElement('script');
又无法在您要导入的代码中运行。
解决方案:仅导入HTML。
立即加载所有JS -minified-并使用jQuery的.on()
或类似的东西来处理DOM中不存在的事件。
对于警报,请在加载外部HTML后立即使用XHR回调。