利用高级交互性和多媒体增强移动网站
立即解锁
发布时间: 2025-08-18 01:18:22 阅读量: 2 订阅数: 3 

### 利用高级交互性和多媒体增强移动网站
在移动网站开发中,为了确保网站在各种手持设备上都能有良好的显示效果,我们可以借助一些专门为手持设备设计的 HTML 和 CSS 特性,其中 WebKit 扩展发挥了重要作用。
#### 1. WebKit 扩展概述
WebKit 最初是由苹果开发的浏览器引擎,包含增强的 HTML 和 JavaScript 组件,如今它已成为开源项目,任何人都可以根据需要修改和调整其代码。基于 WebKit 的移动浏览器是许多新型智能手机和平板电脑的默认浏览器,包括所有苹果手持设备、安卓智能手机和平板电脑等。
WebKit 扩展是对 HTML、CSS 和 JavaScript 的增强,为网页设计师提供了一些通过标准 HTML 标记和 CSS 样式无法实现的设计选项。不过,许多 WebKit 扩展在 HTML5 和 CSS3 中也有支持,具体取决于移动浏览器和设备。
并非所有基于 WebKit 的浏览器选项都是这些浏览器独有的。例如,视口(viewport)功能允许你控制网站在移动设备上的显示大小,并且一些最初在苹果(移动 Safari)手机上出现的方向(纵向与横向)选项,现在也适用于许多非苹果手持设备。视口和方向选项是专门为手持设备设计的,因为大多数桌面和笔记本电脑用户不会频繁切换显示器的方向。
非 WebKit 浏览器的开发者也借鉴了 WebKit 扩展的概念,并将其应用到自己的浏览器中。每个浏览器借鉴的概念不同,而且非 WebKit 浏览器的每次更新都会引入新特性,有些受 WebKit 启发,有些则不是,这使得确定哪些浏览器采用了哪些特性变得有些困难。
#### 2. 视口(Viewport)的使用
由于移动设备的显示尺寸和分辨率多种多样,很难控制网页在不同设备上的外观。使用视口元标签(viewport meta tag)是一种有效的方法,它可以控制页面的高度、宽度、用户的缩放级别等显示选项。
视口元标签使用 `name` 和 `content` 属性,示例如下:
```html
<meta name="viewport" content="width=320, height=240 user-scalable=yes" />
```
若要控制用户的缩放级别,可以使用 `initial-scale`、`maximum-scale` 和 `minimum-scale` 属性,示例如下:
```html
<meta name="viewport" content="width=320, height=240 user-scalable=yes, initial-scale=1.5, maximum-scale=3.0, minimum scale=1.0" />
```
当将视口与定义页面整体宽度和各种 CSS 容器大小为百分比的 CSS 样式结合使用时,可以让内容适应各种屏幕尺寸,而无需为每个设备类别创建单独的样式表。
还可以使用视口属性 `device-width` 自动使网页填满屏幕宽度,但该选项不控制页面显示高度,有时可能会产生不理想的结果,尤其是当你不希望用户在特定页面上滚动时。例如,若要使页面填满屏幕宽度并禁止缩放,可以使用以下视口元标签和属性:
```html
<meta name="viewport" content="width=device-width user-scalable=no" />
```
`device-width` 属性使页面以设备屏幕的全宽显示,`scalable=no` 属性禁止调整大小,确保页面始终以所需宽度显示。
#### 3. 设备方向处理
大多数新型智能手机和所有新型平板电脑都支持纵向(直立)和横向(水平)方向。当旋转设备时,网页并不总是能自动调整以适应新的方向,这是因为许多设备不能自动(或充分)补偿因旋转手持设备而导致的屏幕尺寸变化。
基于 WebKit 的浏览器和其他一些浏览器支持内置函数和事件,用于检测设备方向的变化并重新绘制屏幕以进行补偿。最常见的两个函数如下:
- **`window.orientation` 事件**:报告当前屏幕方向,使用以下值:
- `0`:纵向模式,即用户将设备直立握持。
- `90`:向左旋转,即用户逆时针旋转手持设备。
- `-90`:向右旋转,即用户顺时针旋转设备。
- `180`:倒置,即用户将手机翻转 180 度,但并非所有设备都支持此值,例如早期的 iPhone 就不使用它。
- **`orientationchange` 事件**:每次用户将设备旋转 90 度时触发。
单独使用这两个选项作用不大,但与 CSS 和 JavaScript 结合使用时,它们非常实用,可以节省大量时间,因为无需为不同的屏幕尺寸创建多个类配置文件。整个过程分为三个部分,需要创建三个相应的文件:HTML 页面、外部 CSS 文件和 JavaScript 文件。
##### 3.1 设置可旋转页面
设置可旋转页面与设置其他移动网页非常相似,唯一的区别是使用视口元标签设置页面的初始和最大缩放比例。为了使页面方向脚本正常工作,初始缩放级别和最大缩放级别必须相同,通常为 1.0。
以下是创建可旋转页面的步骤:
1. 创建一个新的 HTML 页面,插入以下代码,并将文件保存为 `index.html`。
```html
<!DOCTYPE html PUBLIC "-//W3C??DTD HXTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"?>
<html xmlsn="http:/www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device=width; initial-scasle=1.0; maximum-scale=1.0;">
<link href="smartphone.css" rel="stylesheet" type="text/css" />
<title>Detecting and Changing Handheld Orientation </title>
<script type="text/javascript" src="orientScreen.js"></script>
<script type="text/javascript">
window.addEventListener("load", function() { setTimeout(loaded, 100) }, false);
function loaded() {
document.getElementById("page_background").style.visibility = "visible";
window.scrollTo(0, 1);
}
</script>
</head>
<body onorientationchange="updateOrientation();">
<div id="page_background">
<div id="page_ccw">
<h2>The handheld is landscape - counter clockwise</h2>
</div>
<div id="page_cw">
<h2>The handheld is landscape - clockwise</h2>
</div>
<div id="page_portrait">
<h2>The handheld is in portrait mode</h2>
</div>
<div id="page_upsideDown">
<h2>The handheld is upside down.</h2>
</div>
</div>
</body>
</html>
```
代码说明:
- 第 7 行:视口元标签中的 `maximum-scale=1.0` 属性禁止用户缩放。如果没有此属性,用户缩放页面后旋转页面,页面将保持缩放后的显示大小,这不是我们想要的效果。
- 第 10 - 18 行:这些代码告诉浏览器外部 JavaScript 文件的信息以及何时和如何使用它。该脚本主要引用并与名为 `orientScreen.js` 的外部 JavaScript 进行交互,并在检测到手持设备方向变化时触发 `loaded` 函数,该函数会告诉外部脚本显示适合设备方向的 CSS 选择器。
- 第 22 行:`<body>` 标签中的 `onorientationchange="updateOrientation();"` 属性由两部分组成,`onorientationchange` 是 `orientationchange` 事件的变体,它引用了稍后创建的 JavaScript 中的 `updateOrientation()` 函数。
- 第 24 - 37 行:这段代码控制用户每次旋转设备时看到的内容,每个方向都有一个对应的 CSS `<div>` 容器选择器,即每个方向都有不同的内容。
##### 3.2 创建外部 CSS 文件
该应用程序的 CSS 文件包含几种字体配置标签选择器、四个方向的 ID 选择器以及每个方向的类选择器。此外,还有四个类选择器由 JavaScript 引用和控制。
创建新的 CSS 文件,保存为 `smartphone.css`,输入以下代码,并将该文件保存在与 `index.html` 相同的目录中。
```
```
0
0
复制全文
相关推荐










