问题已更新。在底部更新 -
我必须在页面上放置脚本。不幸的是,我无法控制页眉或页脚甚至是身体标签。所有,我有一组内部html进入包装DIV内部,它位于body标签内。像这样:
<body>
<div id="wrap">
<!-- My controlled content -->
</div>
</body>
现在,我必须放置一些javascript。所以,我显然把它放在我控制的部分里面。问题是javascript没有被执行。我甚至发出警报,但没有警报框弹出。最终的代码看起来像这样:
<body>
<div id="wrap">
<div id="mycontent">
<script type="text/javascript" language="javascript" src="somesource"></script>
<script>
var x, y;
//Do something here with x,y;
alert("hello");
</script>
</div>
</div>
</body>
知道可能出现什么问题吗?我该如何解决它?
感谢。
更新:我不确定这是否有任何区别,但我忘了提到所有这些HTML都存在于框架标签内(框架集下)。这会有所作为吗?
答案 0 :(得分:1)
修改强>
我看到你正在尝试加载外部javascript文件 - 你确定该文件存在吗?
相反,在document ready
事件中包含一些javascript:
以下是使用jQuery加载dom时运行代码的方法。但是,如果您不想使用jQuery,请参阅此答案的最后一部分。
$(document).ready(function(){
// dom ready
alert("hello");
});
您可以进一步控制div
我的内容,如下所示:
$(document).ready(function(){
// dom ready
alert("hello");
$("#mycontent").hide(); // for example, hide the div
});
非jQuery:
在HTML
页面的底部,将代码放在<script>
标记中 - 这样代码就会在页面上的元素加载后运行。
答案 1 :(得分:0)
禁用XSS过滤器。
作为安全审核员,我刚刚意识到Chrome和Internet Explorer(IE)都在呈现我的警报()。
使用以下命令运行chrome:
C:\Program Files (x86)\Google\Chrome\Application>chrome.exe --disable-xss-auditor
答案 2 :(得分:0)
Javascript需要触发事件。与上面提到的另一张海报一样, document.ready 是文档加载事件。大多数其他事件是用户触发的,如鼠标点击等。您不能只是将Javascript放在HTML文件的中间,并期望它执行。它需要绑定到事件。
答案 3 :(得分:0)
只是评论:document.ready
:不是javascript,$(document).ready
是jQuery。请改用DOMContentLoaded:
$(document).ready(function(){
// dom ready
alert("hello");
});
在现代浏览器中(参见上面链接中的支持),它等同于
window.addEventListener("DOMContentLoaded",function() {
// dom ready
alert("hello");
});