Javascript不是't在包含html模板时执行
Javascript isn't executing when including html-template
自从我开始为我的导航栏元素使用html模板文件以来,我还没有一个脚本要执行(我可以通过控制台执行它(。我尝试过加载函数,但即使这样似乎也不起作用。我的问题是,我对执行顺序知之甚少,如果我以某种方式阻止了我的脚本。我也没有收到任何错误消息,当不使用html模板时(即,导航栏结构与同一html文件中的所有其他内容一起包含(,页面会按原样加载。所以有什么东西把事情搞砸了。我也可以在控制台上调用它。
(我尝试了各种方法,但除了在文档中包含模板之外,没有什么真正有效的方法,我想避免这些方法。这个设置是众多设置之一(。我希望有人能当场看到我犯的错误。为了可读性,我也删掉了一些css。
编辑:将js抛出窗口,因为发现ASP可用。使用asp在大约半小时内解决了这个问题。
只需将DOM元素放在body标记中即可。始终在正文末尾呈现脚本,并在文档就绪时附加异步javascript文件(或者至少这是我的观点(。
<html>
<head>
<link href="Bootstrap/css/bootstrap.min.css" rel="stylesheet">
</head>
<body id="bodyCanvas">
<div class="masthead">
<div class="container">
</div>
</div>
<div class="container Override" id ="pageContainerId" >
</div>
<script>
<script src="http://code.jquery.com/jquery.js"></script> // create a local copy of jquery and other async javascript files you can load at $(document).ready(function(){ //here append async scripts like google maps });
<script type="text/javascript" src="d3.min.js"></script>
<script src="Bootstrap/js/bootstrap.min.js"></script>
<script type='text/javascript'>
$(function(){
$("#pageContainerId").load("navbarTemplate.html");
});
</script>
Here goes code....
</script>
</body>
</html>
您试图在$("#pageContainerId").load("navbarTemplate.html");
中引用的代码在body标记之外,大多数浏览器都会将其删除
请尝试以下操作:
<script src="http://code.jquery.com/jquery.js"></script>
<script type="text/javascript" src="d3.min.js"></script>
<script src="Bootstrap/js/bootstrap.min.js"></script>
<script type='text/javascript'>
$(function(){
$("#pageContainerId").load("navbarTemplate.html");
});
</script>
</head>
<body id="bodyCanvas">
<div class="masthead">
<div class="container">
</div>
</div>
<div class="container Override" id ="pageContainerId" >
</div>
<script>
Here goes code....
</script>
</body>
</html>
此外,由于脚本位于顶部,此时可能无法加载DOM,请尝试以下操作:
$(document).ready(function(){
$("#pageContainerId").load("navbarTemplate.html");
});
DOM元素应位于主体标签内
<body id="bodyCanvas">
<div class="masthead">
<div class="container">
</div>
</div>
<div class="container Override" id ="pageContainerId" >
</div>
</body>
好吧,我无法让它按我想要的方式工作,但事实证明我们的服务器上启用了asp,所以当我切换到它时,我让它在大约半小时内工作得很好。
我怀疑,就最佳实践而言,这是一种更好的方式。
感谢您的回复。
相关文章:
- HTML表单提交时未执行外部函数
- 如何在使用jQuery.html()时防止javascript执行
- HTML 中的 Javascript 不会执行
- 如何在不使用Internet Explorer的情况下从未挂起的HTML文件执行程序
- HTML表单-按'时执行脚本;输入',无需提交
- 使用html 5对元素执行自定义表单验证功能
- 在引导程序中从 HTML 表单执行 Python (CGI) 文件.带有Apache Server的JS
- 从一个文本框执行代码,并在另一个文本框中以 HTML 显示输出
- 只是 JQuery 可执行文件的一部分.当直接粘贴到HTML中时,一切正常(window.location)
- 将字符串作为一段 HTML/javascript 代码执行
- 突出显示与perl正则表达式匹配的HTML部分 - 在服务器端perl或客户端javascript中执行此操作
- 在USB中从HTML执行应用程序
- 如何获取在HTML页面上执行的Javascript函数的返回值
- 这是关于Jquery/JS的,如果我改变元素's HTML-我可以对它执行其他Jquery/JS操作吗
- 如何从使用jquery load()加载的另一个html页面执行在主html文件中编写的脚本
- 在href跳转到另一个html元素之前,执行Knockout.js数据绑定:点击函数
- 如何在onClick函数中通过HTML执行记事本.没有弹出窗口阻止程序
- 试图让JavaScript通过HTML执行WSH
- HTML执行不同的php函数onclick
- 从XSLT呈现的HTML执行JavaScript函数时出现的问题