整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

在HTML页面中嵌入其他页面的方法-零基础自学网页制作

HTML页面中嵌入其他页面的方法

在自己的页面中嵌入其他页面是一个非常重要的操作,既能丰富自己的页面样式又能增强页面的信息量。

举个例子,如果打算在自己的页面中插入一个视频网站的视频该怎么做呢?

假如我现在自己的页面中嵌入这个视频,

我只需要在视频下侧找到"分享"。

点击之后出现这样的对话框,如图:

通过在我们的页面中粘贴这段通用代码就可以显示这个视频了。

代码如下:

<iframe height=498 width=510 src='http://player.youku.com/embed/XNDQ5Mjg1MTU1Mg==' frameborder=0 'allowfullscreen'></iframe>

下面就写到我们的页面中试试吧。

首先复制"第一个网页.html"文件,改名为"在页面中嵌入页面.html"保存,然后用记事本打开,修改<head></head>标签中的<title>第一个页面</title>编辑为"在页面中嵌入页面"即可,完整代码如下:

<!DOCTYPE HTML>
  <html>
  <head> 
  <title>在页面中嵌入页面</title>
  </head> 
  <body>
  <iframe height=498 width=510 src='http://player.youku.com/embed/XNDQ5Mjg1MTU1Mg==' frameborder=0 'allowfullscreen'></iframe>
  </body>
  </html>

页面效果如下:

怎么样,是不是很神奇!

下面我们来分析一下这段代码的含义。

首先要引入一个新标签<iframe>,HTML的使用手册中翻译为"框架",说实话,这么翻译初学者是不知所云的。这个框架元素的主要作用就是在自己的页面中嵌入其他页面。

在<iframe>标签中先指定路径属性即src。这里使用的是单引号,实际上只要是半角符号,单引号和双引号都可以的。

然后设置长宽属性,即width和height,大家可以尝试改变数据看看。

frameborder可以为iframe的窗口指定一个边框,大家可以尝试把0改成1看看。大家注意哈,这里输入30和输入1是一样的,因为这个属性不是定义边框的宽度,而是定义是否显示边框!在编程中叫做布尔值,0代表没有边框,1代表有边框!和我们点灯的开关一样!

如图:多了个边框出来。

最后'allowfullscreen'这个描述非常的奇葩,把它删掉没有任何影响。不晓得是干什么的,主要是也不符合html的语法(也可能是我没见识)。如果有详细了解的小伙伴欢迎留言指教,感激不尽。

下面我们尝试修改一下src属性,给它一个别的路径看看。例如:

<!DOCTYPE HTML>
  <html>
  <head> 
  <title>在页面中嵌入页面</title>
  </head> 
  <body>
  <iframe height=498 width=510 src='https://www.toutiao.com/i6790673377188119052/'>
  </iframe>
  </body>
  </html>

需要注意的是,修改了src并保存文件之后要把原页面关闭然后重新打开才可以正常显示!

效果如下:

在浏览网页时我们还经常遇到这样的情况,就是有一个独立窗口显示嵌套的页面,上面有个标题,一点击就会跳到那个嵌入的页面上,这个其实很简答,使用一个<a></a>元素即可办到,示例代码如下:

<a href="https://www.toutiao.com/i6790673377188119052/">HTML中的块级元素与内联元素——零基础自学网页制作</a>
<iframe height=498 width=510 src='https://www.toutiao.com/i6790673377188119052/'></iframe>

页面示例如下:

框架元素并没有换行,所有我们可以推测出<iframe>标签实际上是个内联元素,如何让它换行呢?

为<iframe>的style属性中写入display:block即可。这句代码的意思是按照块元素来显示<iframe>内容。

示例代码如下:

<iframe height=498 width=510 style = "display:block;"src='https://www.toutiao.com/i6790673377188119052/'></iframe>

页面效果如下:

是不是很有意思。

下面我们来介绍一个更有趣的玩法。如图所示:

这个怎么做呢?

这就要介绍<iframe>标签中的另一个属性:name(名字)

示例代码如下:name="iframe"

<iframe name = "iframe" height=498 width=510style = "display:block;"src='https://www.toutiao.com/i6790673377188119052/'allowfullscreen'></iframe>

这里讲个题外话,如果大家了解中国古代的"请神术"的话就会知道这样一个有趣的传说,就是如果我们能叫出鬼神的名字就可以驱使它。

编程也是这样,我们给函数或变量一个名字后,就可以随时随地的驱使它。

现在我们给<iframe>起了个名字叫做"iframe",当然您可以使用其他名字也没问题,但要使用英文或汉语拼音命名,名字是英语字母组合最好。

有了名字之后,<a>标签就要驱使<iframe>标签来显示自己路径下的内容,如何驱使呢?

大家还记得<a>标签中有一个target属性吗?只要让target="iframename"即可!

也就是target="iframe"。示例代码如下:大家要注意的是<a>标签也是内联元素,也需要添加display:block,不然也是排在一列显示。

<a style = "display:block;" target="iframe" href="https://www.toutiao.com/i6790673377188119052/">HTML中的块级元素与内联元素——零基础自学网页制作</a><!--第一个a链接的是头条文章-->
<a style = "display:block;" target="iframe" href="https://baike.baidu.com/item/%E6%AD%BC-20/1555348?fromtitle=%E6%AD%BC20&fromid=1838467&fr=aladdin"> 歼20战斗机百科</a><!--第二个a链接的是百度百科-->
<a style = "display:block;"target="iframe" href="image1.jpg">IT美女</a><!--第三个a链接的是本地图片-->
<iframe name = "iframe" height=498 width=510style = "display:block;"></iframe>

只要我们为不同的<a>标签赋予target="iframe"的属性,点击这些<a>标签就可以在叫做"iframe"的框架元素中显示自己的页面。这时我们可以把<iframe>标签中的src属性删除掉,保存文件后,关闭测试网页,再重新打开,效果如下:

初始状态下,因为框架元素中的src是空的,所以打开后是空白的。如果您觉得单调可以任意复制3个<a>中的一个href中的链接路径给<iframe>的src属性,打开就是相应的标签。这个就不演示了,大家自己试试即可。

点击第一个链接效果如下:

点击第二个链接如下:

点击第三个链接如下:

最后再强调一下,改完框架的src属性后需要关闭页面后重新打开才可以,刷新的话并不能正确显示!切记!

今天的示例代码如下:

<!DOCTYPE HTML>
  <html>
  <head> 
  <title>在页面中嵌入页面</title>
  </head> 
  <body>
  <a style = "display:block;" target="iframe" href="https://www.toutiao.com/i6790673377188119052/">HTML中的块级元素与内联元素——零基础自学网页制作</a>
  <a style = "display:block;" target="iframe" href="https://baike.baidu.com/item/%E6%AD%BC-20/1555348?fromtitle=%E6%AD%BC20&fromid=1838467&fr=aladdin">歼20战斗机百科</a>
<a style = "display:block;" target="iframe" href="image1.jpg">IT美女</a>
<iframe name = "iframe" height=498 width=510 style = "display:block;"></iframe>
</body>
</html>

今天的内容结束了,明天我将会为大家介绍<object>和<embed>这两个标签,它们可以在页面中嵌入更多有趣的东西。

喜欢的小伙伴请关注我,阅读中遇到任何问题请给我留言,如有疏漏或错误欢迎大家斧正,不胜感激!

HTML完整学习目录

HTML序章(学习目的、对象、基本概念)——零基础自学网页制作

HTML是什么?——零基础自学网页制作

第一个HTML页面如何写?——零基础自学网页制作

HTML页面中head标签有啥用?——零基础自学网页制作

初识meta标签与SEO——零基础自学网页制作

HTML中的元素使用方法1——零基础自学网页制作

HTML中的元素使用方法2——零基础自学网页制作

HTML元素中的属性1——零基础自学网页制作

HTML元素中的属性2(路径详解)——零基础自学网页制作

使用HTML添加表格1(基本元素)——零基础自学网页制作

使用HTML添加表格2(表格头部与脚部)——零基础自学网页制作

使用HTML添加表格3(间距与颜色)——零基础自学网页制作

使用HTML添加表格4(行颜色与表格嵌套)——零基础自学网页制作

16进制颜色表示与RGB色彩模型——零基础自学网页制作

HTML中的块级元素与内联元素——零基础自学网页制作

初识HTML中的<div>块元素——零基础自学网页制作

在HTML页面中嵌入其他页面的方法——零基础自学网页制作

封闭在家学网页制作!为页面嵌入PDF文件——零基础自学网页制作

HTML表单元素初识1——零基础自学网页制作

HTML表单元素初识2——零基础自学网页制作

HTML表单3(下拉列表、多行文字输入)——零基础自学网页制作

HTML表单4(form的action、method属性)——零基础自学网页制作

HTML列表制作讲解——零基础自学网页制作

为HTML页面添加视频、音频的方法——零基础自学网页制作

音视频格式转换神器与html视频元素加字幕——零基础自学网页制作

HTML中使用<a>标签实现文本内链接——零基础自学网页制作

频、视频的格式

开始学习之前,我们要下载些素材用来测试使用,地址如下:https://pan.baidu.com/s/1reRWno0ibYRcYXjw4MClqw

提取码:td80

其中包括两个视频一个音频和一个安装程序。

学习如何在页面中添加音频、视频之前应该了解一点基础知识。

我们应该都有在互联网上下载电影、视频、音乐的经历,大家会注意到,有的视频文件名的后缀是.avi,有的视频是.mp4,还有.mov的,据不完全统计,常见的各种视频格式有十几种之多。

常见的音频的格式比起视频来会显得少一些,一般是.wav和.mp3格式。

为什么存储相同的内容可以有这么多不同的格式呢?

格式产生的核心在于对音频、视频等多媒体文件进行的不同编码方式。

那什么是编码呢?

简单来说我们可以把"编码"这个词分成两个部分,第一个是"编",也就是"整理、组织"的意思,第二个是"码",也就是我们平时所说的"数码"。

首先说"码",我们的计算机中的数据最终都是通过二进制的数字(0和1)来存储或计算的,这些0或1就是数码。无论代码、程序、图片、音乐、视频、文字等的存储与计算都不例外。不管多么复杂或简单的文件,在计算机看来,都是一大堆0和1。

一个0或1被称为1比特,图片或视频中的一个黑白像素通常是8比特(八位),如果一张1080乘720个像素的图片所占内存的大小就是1080*720*8=6220800字节,约等于0,74mb。如果一个视频每秒中有25帧,也就是一秒钟在我们眼前闪过25张图片(视频播放实际上就是在我们眼前快速的更替图片,这些图片在大脑中会被自动连成动作,这也是小的时候在课本的角上画好一套走路的小人的不同动作后,快速翻动书页,画面中的小人会走路的原因,大家可以自行百度"视觉暂留原理")。

一秒钟25张1080乘720的图片的视频,一秒钟就会占0.74*25=18.5mb的内存。如果是一分钟呢,18.5*60=1110mb约等于1.08gb。这样的数据量是不是很吓人。

但事实上我们下载的1080*720的一小时三十分钟左右的视频的体积往往也没有超过1gb,这又是为什么呢?

这就是"编"的功劳!对数码进行整理和组织的主要目的是压缩体积,压缩数据体积既能节省磁盘又能方便传播与携带,是信息技术的关键技术之一,压缩的方法一般有两类,一类叫做无损压缩,也就是通过对这一大堆数码进行一个特殊的组合使其占有更小的空间,一类叫做有损压缩,是在无损压缩的基础上剔除掉人眼睛识别不到的冗余信息。具体的压缩过程涉及到很多数学知识,这里大家简单了解一下即可。

压缩后的视频或音频文件最终通过播放器对该文件的压缩算法进行逆向运算后,还原成计算机可以解读的画面和声音再呈现给观众,这个过程叫做"解码"。

通过"编"的方式压缩文件体积,通过"解"的方式再还原出文件内容成了处理大规模数据的通用手法。

不同的编码和解码方式催生出不同的文件格式,这种情况下,浏览器在播放视频的时候就要有应对不同格式的不同解码方式,在15年以前,浏览器为了能够播放不同格式的视频,就要调用电脑中不同的播放器,这个过程的写法非常麻烦。随着技术不断地整合,时至今日,在页面中播放视频不需要这么复杂的写法了,但是因为每个浏览器都不是包打一切,因此,虽然不用指定播放器,但是也要预设不同格式的视频来应对不同的浏览器。

因此,我们在这一部分的学习中除了讲解如何向页面添加不同格式的音视频外还会告诉大家如何为音视频转换格式。

为页面添加音频、视频

添加音频使用<audio></audio>标签,这个标签被所有浏览器支持,是html5推荐的音频导入标签,但是遗憾的是在html4标准中是不被支持的或者说是非法的。

这里给大家简要介绍一下html5和html4的区别。

简单来说呢,一个html文件的第一条语句是<!DOCTYPE HTML>,它就是HTML5标准的文件。如果是html4,它的第一条声明语句有三种写法,像这样

一:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

二:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

三:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

版权声明:本文为CSDN博主「痦子」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/yh1061632045/article/details/81518141

这让我想到了孔乙己的"茴"字的多种写法

是不是很麻烦,其实html5比html4更简单,功能更强大,而且我们一直以html5的标准进行学习,所以大家不必纠结。

下面我们导入一个音频试试吧。示例代码如下:

<!DOCTYPE HTML>
  <html>
  <head> 
  <title>音视频导入</title>
  </head> 
  <body>
  <audio controls="controls"> 
    <source src="audio/千年的祈祷.mp3" type="audio/mp3" />
  </audio>
  </body> 
  </html>

页面效果如下:

其中controls属性就是用来显示播放控制界面的,就是这个:(偷懒的话可以写成"controls"就ok,不必加"="以及后面的内容了。)

如果以后您使用自己编写的控制界面,就可以不添加这个属性。

删掉这个属性后就是这样:这样为自定义的播放控制界面留出了位置。

<audio></audio>标签夹着<source>标签,一个<audio></audio>标签中可以添加多个<source>用以支持不同的格式要求。示例代码如下:(这段代码来自w3school)

<audio controls="controls"> 
  <source src="song.ogg" type="audio/ogg" /> 
  <source src="song.mp3" type="audio/mpeg" />
  Your browser does not support the audio element.<!--你的浏览器不支持这个音频元素-->
</audio>

type属性是告诉浏览器音乐文件的类型。

不同格式的文件的生成需要我们自己去做,这就涉及到如何给一个音频文件进行格式转化的问题。这个问题我们明天再说,今天先学习为页面添加音频和视频。

下面我们来看一下视频的导入方法,示例代码如下:

<video controls> 
  <source src="video/阿塔丽.mp4" type="video/mp4" />
</video>

页面效果如下:

我们可以通过设置height和width属性来控制视频的面积。实例代码如下:

<video controls width="850" height="500" > 
  <source src="video/阿塔丽.mp4" type="video/mp4" />
</video>

页面效果如下:

视频画面变小了,和视频并排的是我们之前添加的音频文件,由此可知,这两个元素都是内联元素。

今天的内容结束了,明天我们继续学习格式转换和为不同浏览器预设不同音视频格式的方法。

如果您有任何疑问请给我留言,如有问题或错误请予以斧正!

HTML完整学习目录

HTML序章(学习目的、对象、基本概念)——零基础自学网页制作

HTML是什么?——零基础自学网页制作

第一个HTML页面如何写?——零基础自学网页制作

HTML页面中head标签有啥用?——零基础自学网页制作

初识meta标签与SEO——零基础自学网页制作

HTML中的元素使用方法1——零基础自学网页制作

HTML中的元素使用方法2——零基础自学网页制作

HTML元素中的属性1——零基础自学网页制作

HTML元素中的属性2(路径详解)——零基础自学网页制作

使用HTML添加表格1(基本元素)——零基础自学网页制作

使用HTML添加表格2(表格头部与脚部)——零基础自学网页制作

使用HTML添加表格3(间距与颜色)——零基础自学网页制作

使用HTML添加表格4(行颜色与表格嵌套)——零基础自学网页制作

16进制颜色表示与RGB色彩模型——零基础自学网页制作

HTML中的块级元素与内联元素——零基础自学网页制作

初识HTML中的<div>块元素——零基础自学网页制作

在HTML页面中嵌入其他页面的方法——零基础自学网页制作

封闭在家学网页制作!为页面嵌入PDF文件——零基础自学网页制作

HTML表单元素初识1——零基础自学网页制作

HTML表单元素初识2——零基础自学网页制作

HTML表单3(下拉列表、多行文字输入)——零基础自学网页制作

HTML表单4(form的action、method属性)——零基础自学网页制作

HTML列表制作讲解——零基础自学网页制作

为HTML页面添加视频、音频的方法——零基础自学网页制作

音视频格式转换神器与html视频元素加字幕——零基础自学网页制作

HTML中使用<a>标签实现文本内链接——零基础自学网页制作

了执行Javascript,需要在HTML文件内以特定的方式书写JavaScript的代码,JavaScript的书写方法有多种,其执行的流程也各不相同:

1 <script>标签嵌入

此种嵌入方法无法操作<script>之后的DOM元素。因为<script>之后的DOM元素还未构造,因此在<script>标签内就无法取得位于其后的DOM元素。

2 读取外部JavaScript文件

此种嵌入方法可以指定defer、async属性。defer可以推迟执行,async可以异步执行。

3 onload嵌入

此种嵌入方法在页面读取完后再对其执行,所以可以对所有的DOM元素操作。

<body onload="alert('hello')">
window.onload = function(){alert('hello');};

当window.onload事件触发时,页面上所有的DOM、样式表、脚本、图片、flash都已经加载完成了。

//window.onload不能同时编写多个。
//以下代码无法正确执行,结果只输出第二个。
window.onload = function(){
  alert("test1");
};

window.onload = function(){
  alert("test2");
};

//$(document).ready()能同时编写多个
//结果两次都输出
$(document).ready(function(){ 
   alert("Hello World"); 
}); 
$(document).ready(function(){ 
   alert("Hello again"); 
}); 

window.onload和body中onload也有些许区别:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.0.js"></script>
    <script language="javascript">
        window.onload = haha;
        function haha(){console.log("window.onload");}

        if(document.addEventListener){
            function DOMContentLoaded(){
                console.log("DOMContentLoaded");
            }
            document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false );
        }</script>
</head>
<body onload="console.log('bodyonload');">
        <div id="div1">a</div>
</body>
</html>

在IE10和FireFox下,结果为 :

"DOMContentLoaded"
"bodyonload"

说明body中的onload会覆盖window.onload

在chrome下,结果为:

DOMContentLoaded
window.onload
bodyonload

然后,如果把javascript代码移到最下面,结果又会是什么样呢?

chrome和IE10、FireFox的结果竟然是一样的:

DOMContentLoaded
window.onload

IE 10、Fire Fox可以理解,window.on load和body中的 on load 谁在下面就是谁覆盖谁,只会执行后面的那个。

4 DOM ContentLoaded嵌入

onload方法可能需要等待时间,而本方法可以在完成HTML解析后发生的事件,减少等待时间。

在chrome、IE10和FireFox中,执行结果是:DOMContentLoaded然后才是onload的输出。所以说一般情况下,DOMContentLoaded事件要在window.onload之前执行,当DOM树构建完成的时候就会执行DOMContentLoaded事件。

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <script type="text/javascript" src="jquery2.js"></script>
    <script language="javascript">
        window.onload = haha;
        function haha(){console.log(document.getElementById("div1"));}
        if(document.addEventListener){
            function DOMContentLoaded(){
                console.log("DOMContentLoaded");
            }
            document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false );
        }
    </script>
</head>
<body>
    <div id="div1">a</div>
</body>
</html>

如果你是个jQuery使用者,你可能会经常使用$(document).ready();或者$(function(){}),这都是使用了DOMContentLoaded事件

5 动态载入JavaScript文件

5.1 使用原生js方法

动态创建script标签,并指定script的src属性

function loadJs(url, callback) {
    var script = document.createElement('script');
    script.type = "text/javascript";
    if (typeof(callback) != "undefined") {
        if (script.readyState) {
            script.onreadystatechange = function() {
                if (script.readyState == "loaded" || script.readyState == "complete") {
                    script.onreadystatechange = null;
                    callback();
                }
            }
        } else {
            script.onload = function() {
                callback();
            }
        }
    }
    script.src = url;
    document.body.appendChild(script);
}
loadJs("test.js", function() {
    alert('done');
});

还可以使用同样的原理动态加载css文件,只不过插入的的父节点是head标签。

5.2 使用document.write/writeln()方式

该种方式可以实现js文件的动态加载,原理就是在重写文档流,这种方式会导致整个页面重绘。

document.writeln("<script src=\"http://lib.sinaapp.com/js/jquery/1.6/jquery.min.js\"></script>");

需要注意的是特殊字符的转义。

5.3 使用jQuery

使用getScript(url,callback)方法实现动态加载js文件

$.getScript('test.js',function(){
    alert('done');
});

-End-