Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在div内执行javascript_Javascript - Fatal编程技术网

在div内执行javascript

在div内执行javascript,javascript,Javascript,问题已更新。在底部更新- 我必须把脚本放在一页上。不幸的是,我不能控制页眉或页脚,甚至不能控制body标签。我所拥有的只是一组内部html,它位于body标记内的包装DIV中。大概是这样的: <body> <div id="wrap"> <!-- My controlled content --> </div> </body> <body> <div id="wrap"

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

我必须把脚本放在一页上。不幸的是,我不能控制页眉或页脚,甚至不能控制body标签。我所拥有的只是一组内部html,它位于body标记内的包装DIV中。大概是这样的:

<body>
     <div id="wrap">
         <!-- My controlled content -->
     </div>
</body>
<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>

现在,我必须放置一些javascript。很明显,我把它放在我控制的区域内。问题是javascript没有被执行。我甚至发出了警报,但没有弹出警报框。最终代码如下所示:

<body>
     <div id="wrap">
         <!-- My controlled content -->
     </div>
</body>
<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>

变量x,y;
//在这里用x,y做点什么;
警惕(“你好”);
你知道会出什么问题吗?我怎样才能修好它

谢谢

更新:我不确定这是否有什么不同,但我忘了提到所有这些HTML都存在于框架标记中(在框架集下)。这会有所不同吗?

编辑:

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


相反,将一些javascript包装在
文档就绪
事件中:

下面是使用加载dom时运行代码的方法。但是,如果您不想使用jQuery,请参阅本答案的最后一部分

$(document).ready(function(){
// dom ready
   alert("hello");
});
您可以进一步控制
div
my content,如下所示:

$(document).ready(function(){
// dom ready
   alert("hello");
   $("#mycontent").hide(); // for example, hide the div
});
非jQuery:


HTML
页面的底部,将代码放入
标记中-这样,代码将在加载页面上的元素后运行。

禁用XSS筛选器

作为一名安全审计员,我刚刚意识到Chrome和Internet Explorer(IE)正在呈现我的警报()

使用以下浏览器运行chrome:

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

Javascript需要触发一个事件。与前面提到的另一张海报一样,document.ready是文档加载事件。大多数其他事件都是由用户触发的,比如鼠标点击等。您不能将Javascript放在HTML文件的中间,然后期望它执行。它需要绑定到一个事件只是一个注释:
文档。ready
:不是javascript,
$(文档)。ready
是jQuery。改用:

在现代浏览器中(参见上面链接中的支持),它相当于

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

他没有用jQuery标记这个问题(你甚至没有提到你正在使用它)@Nicosunshine让我知道最近的更新是否是你想要的,我想是:)@RichardTurner,谢谢。有时我只是假设jQuery方式对我来说更自然,但我想在这种情况下它是错误的。在HTML页面的底部,您可能指的是他可以访问的包装器div的可访问部分的底部。我会去掉否定的,但我在7分钟前投了票,对不起。我仍然不认为这是真正的问题。我的意思是,在页面中间有一个警告的脚本应该工作精细,你的意思是说你的代码没有出现警报吗?这一行让人困惑:“我甚至发出了警报,但弹出了警报框”您是否在动态地进行这些更改?您的
是否显示在生成页面的源代码中?您是否收到任何错误消息?您的
是否对页面的doctype有效(即,您是否需要设置类型属性)?您是否检查了控制台?如果可能,请尝试在chrome中打开url,然后打开开发者工具(Ctrl+Shift+i)并查看网络部分。如果您在列表中看到您的脚本名称,则说明它已正确加载,或者如果浏览器未能加载脚本,则会显示错误