javascript在网页中的加载
来源:互联网 发布:齐博cms和phpcms 编辑:程序博客网 时间:2024/05/16 00:57
第3种和第4种方法写入的Javascript需要触发才能执行,所以除非特别设置,否则页面加载时不会执行。 test.js的内容是: 原因可能是IE在document.write时,并未等待加载SRC中的Javascript代码完毕后,才执行下一行,所以导致2先弹出,并且执行到document.write(’document.write("我是" + tmpStr)’)调用tmpStr时,tmpStr并未定义,从而报错。 解决这个问题,可以利用HTML解析是解析完一个HTML标签,再执行下一个的原理,把代码拆分来实现: 这样IE下和其他浏览器输出值的顺序都是一直的了:1、2、我是1、3。 输出值顺序是 2、1。 需要注意的是,如果存在多个winodws.onload的话,只有最有一个生效,解决这个办法是: 利用2级DOM事件类型 这样IE就不报错了,输出值的顺序变成:1、3、2、我是1 一、在HTML中嵌入Javasript的方法
<p onclick="alert(‘我是由onclick事件执行的Javascript‘)">点击我</p>
<a href="javascript:alert(‘我是由javascript:协议执行的javascript‘)">点击我</a>
二、Javascript在页面的执行顺序
<script type="text/javscrpt">//<![CDATA[ alert(tmp); //输出 undefined var tmp = 1; alert(tmp); //输出 1 //]]></script>
<script type="text/javscrpt">//<![CDATA[ aa(); //浏览器报错 //]]></script> <script type="text/javscrpt">//<![CDATA[ aa();//输出 1 function aa(){alert(1);} //]]></script>
<script type="text/javascript">//<![CDATA[ document.write(‘<script type="text/javascript" src="test.js"><//script>‘); document.write(‘<script type="text/javascript">‘); document.write(‘alert(2);‘) document.write(‘alert("我是" + tmpStr);‘); document.write(‘<//script>‘); //]]></script> <script type="text/javascript">//<![CDATA[ alert(3); //]]></script>
var tmpStr = 1; alert(tmpStr);
<script type="text/javascript">//<![CDATA[ document.write(‘<script type="text/javascript" src="test.js"><//script>‘); //]]></script> <script type="text/javascript">//<![CDATA[ document.write(‘<script type="text/javascript">‘); document.write(‘alert(2);‘) document.write(‘alert("我是" + tmpStr);‘); document.write(‘<//script>‘); //]]></script> <script type="text/javascript">//<![CDATA[ alert(3); //]]></script>
三、如何改变Javascript在页面的执行顺序
<script type="text/javascript">//<![CDATA[ window.onload = f; function f(){alert(1);} alert(2); //]]></script>
window.onload = function(){f();f1();f2();.....}
if(document.addEventListener){ window.addEventListener(‘load‘,f,false); window.addEventListener(‘load‘,f1,false); ... }else{ window.attachEvent(‘onload‘,f); window.attachEvent(‘onload‘,f1); ... }
<script type="text/javascript">//<![CDATA[ document.write(‘<script type="text/javascript" src="test.js"><//script>‘); document.write(‘<script type="text/javascript" defer="defer">‘); document.write(‘alert(2);‘) document.write(‘alert("我是" + tmpStr);‘); document.write(‘<//script>‘); //]]></script> <script type="text/javascript">//<![CDATA[ alert(3); //]]></script>
因为xmlhttpRequest能判断外部文档加载的状态,所以能够改变代码的加载顺序。
- javascript在网页中的加载
- 网页加载进度条中的javascript
- javascript在网页中的运用
- JavaScript在网页中的位置
- 010在网页里动态加载JavaScript
- javascript在html中的加载顺序
- javascript在页面中的加载顺序
- Javascript 在html 中的加载顺序
- JavaScript 网页加载
- Javascript在网页页面加载时的执行顺序
- Javascript在网页的页面加载时执行的顺序
- Javascript在网页的页面加载时执行的顺序
- Javascript在网页页面加载时的执行顺序
- Javascript在网页页面加载时的执行顺序
- Javascript在网页页面加载时的执行顺序
- javascript取一个控件在网页中的位置
- JavaScript 获取HTML标签当前在网页中的绝对位置
- 网页加载 html javascript 顺序
- 关于163编辑器公网不可用的解决办法
- Windows下Qt 重新编译库文件
- fedora 12 上QQ 崩溃的问题
- 地雷游戏辅助(讲解,附带下载)
- weblogic10生产模式启动不用输入用户名密码
- javascript在网页中的加载
- 个人管理:程序员应不应该离职,我该何去何从呢?
- Psql 常用命令
- BMP文件结构
- 今晚开始学Windows编程
- 选择容器法则
- BMP文件结构
- 请问怎么破解UG7.5
- [vim]vim命令的操作范围总结