页面中引入js的几种方法
通常大家最为熟悉的是一下两种方法:
- 在页面中直接写入<script type="text/javascript">js代码</script>。
- 在页面中引入外部文件<script src="xx.js"></script>。
下面再介绍几种页面引入js的代码:
- 在js中引入外部js,通过document.wirite("scr"+"ipt src='xx.js'></scr"+"ipt">。此时:<script></script>被拆解为"<scr"+"ipt .....</scr"+"ipt">,如果不这样拆解,浏览器可能会把父级js片段关闭掉,从而导致出错。
- 在js中引用其他js片段,document.write("<scr"+"ipt>alert(xxx)</scr"+"ipt>");
- 通过DOM添加:var scr=document.createElement("script"); scr.src="xxx.js";
下面测试下,不同的方式引入js,加载的时间顺序:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="2.js" type="text/javascript"></script>
<script type="text/javascript">
document.write("<scr"+"ipt>alert(4)</scr"+"ipt>");//通过第四种方式引入
document.write("<scr"+"ipt src='3.js'></scr"+"ipt>");//通过第三种方式引入
alert(1);
document.write("<scr"+"ipt src='3.js'></scr"+"ipt>");
alert(5);
</script>
</head>
<body>
</body>
</html>
执行顺序:2-4-1-5-3-3
第三种和第四种交换顺序后:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="2.js" type="text/javascript"></script>
<script type="text/javascript">
document.write("<scr"+"ipt src='3.js'></scr"+"ipt>");//通过第三种方式引入
document.write("<scr"+"ipt>alert(4)</scr"+"ipt>");//通过第四种方式引入
alert(1);
document.write("<scr"+"ipt src='3.js'></scr"+"ipt>");
alert(5);
</script>
</head>
<body>
</body>
</html>
执行顺序:2-1-5-3-4-3
可以看出第三种方式:document.wirite("scr"+"ipt src='xx.js'></scr"+"ipt">引入js的代码,执行会迟与直接写入的js文本。
同时,第四种方式引入js的执行和直接写入的文本是按顺序执行。
总结下,常用的一下几种方式引入js代码:
- 在页面中直接写入<script type="text/javascript">js代码</script>。
- 在页面中引入外部文件<script src="xx.js"></script>。
- 在js中引入外部js,通过document.wirite("scr"+"ipt src='xx.js'></scr"+"ipt">。
- 在js中引用其他js片段,document.write("<scr"+"ipt>alert(xxx)</scr"+"ipt>")。
- 通过DOM添加:var scr=document.createElement("script"); scr.src="xxx.js";
页面中引入js的几种方法的更多相关文章
- JS基础入门篇( 三 )—使用JS获取页面中某个元素的4种方法以及之间的差别( 一 )
1.使用JS获取页面中某个元素的4种方法 1.通过id名获取元素 document.getElementById("id名"); 2.通过class名获取元素 document.g ...
- a 标签中调用js的几种方法 文章摘自他人
我们常用的在a标签中有点击事件:1. a href="javascript:js_method();" 这是我们平台上常用的方法,但是这种方法在传递this等参数的时候很容易出问题 ...
- a 标签中调用js的几种方法
我们常用的在a标签中有点击事件: 1. a href="javascript:js_method();" 这是我们平台上常用的方法,但是这种方法在传递this等参数的时候很容易出问 ...
- a 中调用js的几种方法
我们常用的在a标签中有点击事件:1. a href="javascript:js_method();" 这是我们平台上常用的方法,但是这种方法在传递this等参数的时候很容易出问题 ...
- a标签中调用js的几种方法
1. a href="javascript:js_method();" 这是我们平台上常用的方法,但是这种方法在传递this等参数的时候很容易出问题,而且javascript:协议 ...
- 在页面中嵌入svg的几种方法
//在页面中嵌入svg的方法1:使用 <embed> 标签<embed> 标签被所有主流的浏览器支持,并允许使用脚本.注释:当在 HTML 页面中嵌入 SVG 时使用 < ...
- 页面自动执行js的3种方法
1.最简单的调用方式,直接写到html的body标签里面: <html> <body onload="load();"> </body> & ...
- HTML5结合CSS的三种方法+结合JS的三种方法
HTML5+CSS: HTML中应用CSS的三种方法 一.内联 内联样式通过style属性直接套进HTML中去. 示例代码 <pstylepstyle="color:red" ...
- 同一页面中引入多个JS库产生的冲突解决方案(转)
发生JS库冲突的主要原因:与jQuery库一样,许多JS库都使用‘$’符号作为其代号.因此在一个页面中引入多个JS库,并且使用‘$’作为代号时,程序不能识别其代表哪个库(这个是我自己的解释,但更深的原 ...
随机推荐
- Fiddler工具的基本功能(转)
Fiddler是一款用于网页数据分析,抓取的工具,里面集成了对网页强大的功能外,还可以通过设置,使其对手机的数据也可以进行抓取 Fiddler的原理是: 通过在客户端和服务器之间创建一个代理服务器来对 ...
- mount命令使用具体解释(Linux)
linux是一个优秀的开放源代码的操作系统,能够执行在大到巨型小到掌上型各类计算机系统上,随着 linux系统的日渐成熟和稳定以及它开放源代码特有的优越性,linux在全世界得到了越来越广泛的应用. ...
- MySQL Study之--Mysql无法启动“mysql.host”
MySQL Study之--Mysql无法启动"mysql.host" 系统环境: 操作系统:RedHat EL55 DB Soft: Mysql 5.6.4-m7 通过源代码包 ...
- Cocos2d-x 脚本语言Lua使用
Cocos2d-x 脚本语言Lua使用 前面几篇博客已经把Lua的相关基础知识介绍了.本篇博客就来介绍一下,怎样在Cocos2d-x项目中使用Lua这门脚本语言进行开发.因为笔者使用的时Mac系统.所 ...
- jdk和cglib简单理解(转)
之前使用cglib的时候不需要将classLoader作为参数传入,但动态代理却要,带着这个疑惑进入这个方法: Proxy.newProxyInstance(classLoader, interfac ...
- UVa753/POJ1087_A Plug for UNIX(网络流最大流)(小白书图论专题)
解题报告 题意: n个插头m个设备k种转换器.求有多少设备无法插入. 思路: 定义源点和汇点,源点和设备相连,容量为1. 汇点和插头相连,容量也为1. 插头和设备相连,容量也为1. 可转换插头相连,容 ...
- PowerDesigner教程
PowerDesigner是一款功能很强大的建模工具软件,足以与Rose比肩,相同是当今最著名的建模软件之中的一个.Rose是专攻UML对象模型的建模工具,之后才向数据库建模发展,而PowerDesi ...
- 基于LINUX的多功能聊天室
原文:基于LINUX的多功能聊天室 基于LINUX的多功能聊天室 其实这个项目在我电脑已经躺了多时,最初写完项目规划后,我就认认真真地去实现了它,后来拿着这个项目区参加了面试,同样面试官也拿这个项目来 ...
- MySQL JDBC的queryTimeout坑
遇到一个MySQL JDBC跑execute规定的方法queryTimeout坑,更恶心,无论是BUG,不能,^_^,为什么要说?请看下面的说明: 现象: 用同一个Connection运行大批量SQL ...
- java数据结构系列之——数组(1)
import javax.management.RuntimeErrorException; public class MyArray { private long array[]; private ...