繁体   English   中英

在div中执行javascript

[英]Executing javascript inside div

问题已更新。 在底部更新-

我必须将脚本放在页面上。 不幸的是,我无法控制页眉或页脚甚至body标签。 所有,我有一组内部html,位于包装在body标签内的包装DIV中。 像这样:

<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都存在于frame标签内(在frameset下)。 那会有所作为吗?

编辑:

我看到您正在尝试加载外部javascript文件-您确定该文件存在吗?


相反,将一些javascript包装在document ready事件中:

下面是在使用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>标记中-这样,代码将在页面上的元素加载后运行。

禁用XSS过滤器。

作为安全审核员,我刚刚意识到Chrome和Internet Explorer(IE)都呈现了我的alert()。

使用以下命令运行chrome:

C:\Program Files (x86)\Google\Chrome\Application>chrome.exe --disable-xss-auditor

Javascript需要触发一个事件。 就像提到的另一个发布者一样, document.ready是文档加载事件。 大多数其他事件都是由用户触发的,例如单击鼠标等。您不能只将Javascript放到HTML文件的一半位置并期望它执行。 它需要与事件相关联

只是一个注释: document.ready :不是JavaScript, $(document).ready是jQuery。 改用DOMContentLoaded

$(document).ready(function(){
// dom ready
   alert("hello");
});

在现代浏览器中(请参阅上面的链接中的支持),它等效于

window.addEventListener("DOMContentLoaded",function() {
// dom ready
   alert("hello");
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM