编译的html帮助文件JDJ,学习Jenkins(二)

持续集成之③:将代码自动部署至测试环境

674bd912916455b6a3c939b390c2d510.png

一:本文在上一篇文章的基础之上继续进行操做,上一篇实现了从git获取代码并进行代码测试,本文将在上一篇的基础之上实现将代码部署至测试环境。

1.1:新建一个项目叫web-demo-deploy用于代码发布,上一个项目web-demo可用于代码测试,当测试阶段出现问题的时候也不会当即进行发布,只有当测试经过以后才执行发布的项目便可:

6f73683c4ee3dcbeb5763c54bd8011e0.png

1.2:如何将代码发布到web服务器:

1.2.1:能够经过执行命令或脚本的方式进行代码发布,在各web服务器建立一个www用户,用于启动web服务并进行代码发布:

48304ba5e6f9fe08f3fa1abda7d326ab.png

# useradd www

#echo "123456" | passwd --stdin www

#su -www

$ssh-keygen -t rsa

Generating public/private rsa key pair.

Enterfile in which to save the key (/home/www/.ssh/id_rsa):

Created directory'/home/www/.ssh'.

Enter passphrase (emptyforno passphrase):

Enter same passphrase again:

Your identification has been savedin /home/www/.ssh/id_rsa.

Your public key has been savedin /home/www/.ssh/id_rsa.pub.

The key fingerprint is:

bc:51:20:7d:cc:bb:de:e8:e4:11:d3:f7:1b:ec:0c:0d www@node1.chinasoft.com

The key's randomart image is:

+--[ RSA 2048]----+

| ...o |

| ...+ |

| ... |

| . ... |

| S o..E. |

| o.o .+. |

| ..oo . +.|

| oo.. + o|

| .o + |

+-----------------+[www@node1~]$ cat .ssh/id_rsa.pubssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDIvExDg2tXu3+XZVdjxuur/orC0C9G1vGFKd5c67mOkiJE+OI1eyDl4yoqsabJbp7aHJEDomfO7MjoJSQEQdhebgpCvG7/ron5IoF7Ql3RllhObDHmRmjhSuHbZqJCpM2qqIejkdwM4qpnkFcJUxOZLgdKfiVfNIaAjkY3BUbyKrt64GZ4pykoZXqTLX7fDHAOqzUJqy3IuCLhk0judRdlUWayWnrXOrBGXfuKiBuXiFIxhKbDvDr93ZldqcGXXCmscTLIlQ+yFAEeb11K+/z0uEQU6l9sKD4i8v5503KiFSVWSSfL40ZBFWcP20nK3prRH5CFD2piWbLPQBYVhzpL www@node1.chinasoft.com

48304ba5e6f9fe08f3fa1abda7d326ab.png

1.2.2:在git服务器将www用户的公钥添加至部署key,将root的公钥添加至ssh key,以让www用户有获取代码权限,让root用户有提交代码的权限:

d6955be685fa6712bad43e6e21bae06a.png

ssh keys和deploy keys区别:

github帐户的SSH keys,至关于这个帐号的最高级key,只要是这个帐号有的权限(任何项目),都能进行操做。

仓库的Deploy keys,顾名思义就是这个仓库的专有key,用这个key,只能操做这个项目,其余项目都没有权限。

说白了就至关于你有一所大别墅,SSH key能开别墅中的任何一个房间。而Deploy key只能开进别墅中的一个单间。

1.2.4:确认www用户有拉取代码权限:

b05a7b925b21340d257bceb523f81c1a.png

1.3:关于shell脚本执行权限:

#稍后会经过jenkins执行一个脚本,从而完成代码的发布,可是默认执行的用户是jenkins,须要赋予jenkins必定的权限,另外发布的脚本可能在本机也可能不在本机,本次设想不在本机保存脚本,则设置以下:

1.3.1:解决脚本运行问题:

#将脚本放在www用户家目录/home/www,git代码也放在家目录,所以须要jenkins服务器远程到代码发布服务器执行远程命令,须要作免登录认证,将jenkins服务器root和www用户的公钥放在代码部署服务器的www用户家目录.ssh/authorized_keys文件中,使jenkins服务器可以不输入密码就能够调用部署服务器的脚本:

jenkins服务器:192.168.3.199

deploy部署服务器:192.168.3.12

48304ba5e6f9fe08f3fa1abda7d326ab.png

$ chmod 600authorized_keys

$catauthorized_keys

[www@192.168.3.12 ~]$ cat .ssh/authorized_keysssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDIvExDg2tXu3+XZVdjxuur/orC0C9G1vGFKd5c67mOkiJE+OI1eyDl4yoqsabJbp7aHJEDomfO7MjoJSQEQdhebgpCvG7/ron5IoF7Ql3RllhObDHmRmjhSuHbZqJCpM2qqIejkdwM4qpnkFcJUxOZLgdKfiVfNIaAjkY3BUbyKrt64GZ4pykoZXqTLX7fDHAOqzUJqy3IuCLhk0judRdlUWayWnrXOrBGXfuKiBuXiFIxhKbDvDr93ZldqcGXXCmscTLIlQ+yFAEeb11K+/z0uEQU6l9sKD4i8v5503KiFSVWSSfL40ZBFWcP20nK3prRH5CFD2piWbLPQBYVhzpL www@node1.chinasoft.comssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCsYf1pLYFBUhThXz5pqPMl9TVJxzKEkB/6vImEcDnBqDhrWZe+OqIWp+GTbkHNcXDejD1pBvvQScPIuxlz/r7OEBRTpTjmZOAaLCRMljhx2iMsgTdyjSqZFXMAXRI+F/ZPKKypDW2ZLMLjyqB6ZHK+9/SIMVGwzw/Ey3kqAQovI7UQMoL/59xjah+9zNGboTpZI613LX5vrgCghWUS5NHxU/DNUWjaxFuYJqr7ELKVrG/vZJcbtwmGpRDcCq03Kl2Mz0lHhkGZVDHWqhIPcyRjKrDh0/WqaTlPuIYZ3bZu33aQSxXV5GMGv6VqfIkYVU0uFewL4znPKFPa1z4mAJpR root@node1.chinasoft.com

48304ba5e6f9fe08f3fa1abda7d326ab.png

1.3.2:确承认以避免密码远程登录:

使用root和www用户测试一下是否能够免秘钥登录,以便让部署服务器将用户的key添加到know_keys,不然报错Host key verification failed

ssh www@192.168.3.12

ssh www@192.168.3.13

1.3.3:解决jenkins没有权限的问题,在jenkins服务器192.168.3.199上操做:

# vim /etc/sudoers

#Defaults requiretty #注释掉,不须要tty

jenkins ALL=(ALL) NOPASSWD: /usr/bin/ssh

1.3.3:配置jenkins项目执行shell脚本:

1.3.3.1:脚本内容(须要放在部署服务器192.168.3.12的/home/www目录下):

48304ba5e6f9fe08f3fa1abda7d326ab.png

www@192.168.3.12 $ vim dep.sh#!/bin/bash

cd/home/www/web-demo_deploy/#进入到本地代码库

git pull #从git服务器更新代码scp -r ./*www@192.168.3.12:/webroot/web_www #将代码部署至web服务器

scp -r ./* www@192.168.3.13:/webroot/web_www

www@192.168.3.12 $ chmod +x dep.sh

48304ba5e6f9fe08f3fa1abda7d326ab.png

1.3.3.2:在jenkins调用脚本:

#在项目的构建步骤调用,项目-配置-构建-增长构建步骤-Execute shell

f6fcb500afdb66bf1b11cbb69507233a.png

4ebf1f55e9d278b34a2087134c2eca63.png

访问web页面测试:

66076afb0736c6bedc77927e286fbd17.png

在git仓库建立代码并更新至git服务器:

48304ba5e6f9fe08f3fa1abda7d326ab.png

[www@master web-demo_deploy]$ vim index.html # 添加www.chinasoft.com

[www@master web-demo_deploy]$ git add index.html

[www@master web-demo_deploy]$ git commit -m 'edit index.html add www.chinasoft.com'[master 51f8f11] edit index.html add www.chinasoft.com1 file changed, 1 insertion(+), 1 deletion(-)

[www@master web-demo_deploy]$ git push origin master

Counting objects:5, done.

Compressing objects:100% (3/3), done.

Writing objects:100% (3/3), 313 bytes | 0 bytes/s, done.

Total3 (delta 2), reused 0 (delta 0)

To git@192.168.3.198:web/web-demo_deploy.git

ac41e81..51f8f11 master-> master

48304ba5e6f9fe08f3fa1abda7d326ab.png

再次在jenkins执行项目构建

能够看到刚刚更新的代码获取成功

cd4ace0eb1ddab2c18102fdeb6993f45.png

1.4:让代码测试项目管理代码发布项目,当代码测试的项目执行成功以后自动调用代码发布的项目完成代码部署:

1.4.1:安装插件,jenkins的插件默认安装路径

# ll /var/lib/jenkins/plugins/

tomcat版本的安装路径:

/usr/local/tomcat/webapps/jenkins/WEB-INF/detached-plugins/

若是插件在线安装不成功能够下载插件到此目录而后把属主属组改为jenkins再重启jenkins服务便可完成安装:

#系统管理-管理插件-可选插件,搜索Parameterized:

24701ddb755ff3e4323a0f71bae8dd5b.png

1.4.2:配置项目demo的构建后操做,demo构建完成后自动构建demp-deploy项目:

#jenkins-->web-demo-->配置-->构建后操做:

f3f252e04483109dda786fe5a6ef2aa3.png

1.4.3:配置以下:

c73f935a145b79b3c062d50cd115a60c.png

1.5:测试,执行代码测试项目成功以后是否会自动执行代码部署项目:

控制台输出

48304ba5e6f9fe08f3fa1abda7d326ab.png

Started by user admin

Buildingin workspace /home/jenkins/.jenkins/workspace/web-demo> git rev-parse --is-inside-work-tree # timeout=10Fetching changes from the remote Git repository> git config remote.origin.url git@192.168.3.198:web/web-demo.git # timeout=10Fetching upstream changes from git@192.168.3.198:web/web-demo.git> git --version # timeout=10using GIT_SSH to set credentials gitlab_web-demo> git fetch --tags --progress git@192.168.3.198:web/web-demo.git +refs/heads/*:refs/remotes/origin/*

> git rev-parse refs/remotes/origin/master^{commit} # timeout=10

> git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10

Checking out Revision b8f3be4385efdf64606158c23f9f1992bb2da1d3 (refs/remotes/origin/master)

Commit message: "add www.chinasoft.com"

> git config core.sparsecheckout # timeout=10

> git checkout -f b8f3be4385efdf64606158c23f9f1992bb2da1d3

> git rev-list b8f3be4385efdf64606158c23f9f1992bb2da1d3 # timeout=10

[web-demo] $ /usr/local/sonar-scanner/bin/sonar-scanner -e -Dsonar.host.url=http://192.168.3.199:9000/ -Dsonar.language=php -Dsonar.projectName=web-demo -Dsonar.projectVersion=1.0 -Dsonar.sourceEncoding=UTF-8 -Dsonar.projectKey=web-demo -Dsonar.sources=./ -Dsonar.projectBaseDir=/home/jenkins/.jenkins/workspace/web-demo

INFO: Scanner configuration file: /usr/local/sonar-scanner/conf/sonar-scanner.properties

INFO: Project root configuration file: NONE

INFO: SonarQube Scanner 2.6.1

INFO: Java 1.8.0_111 Oracle Corporation (64-bit)

INFO: Linux 3.10.0-514.el7.x86_64 amd64

INFO: Error stacktraces are turned on.

INFO: User cache: /home/jenkins/.sonar/cache

INFO: Load global repositories

INFO: Load global repositories (done) | time=172ms

WARN: Property 'sonar.jdbc.url' is not supported any more. It will be ignored. There is no longer any DB connection to the SQ database.

WARN: Property 'sonar.jdbc.username' is not supported any more. It will be ignored. There is no longer any DB connection to the SQ database.

WARN: Property 'sonar.jdbc.password' is not supported any more. It will be ignored. There is no longer any DB connection to the SQ database.

INFO: User cache: /home/jenkins/.sonar/cache

INFO: Load plugins index

INFO: Load plugins index (done) | time=3ms

INFO: SonarQube server 5.6.6

INFO: Default locale: "en_US", source code encoding: "UTF-8"

INFO: Process project properties

INFO: Load project repositories

INFO: Load project repositories (done) | time=97ms

INFO: Load quality profiles

INFO: Load quality profiles (done) | time=34ms

INFO: Load active rules

INFO: Load active rules (done) | time=380ms

WARN: SCM provider autodetection failed. No SCM provider claims to support this project. Please use sonar.scm.provider to define SCM of your project.

INFO: Publish mode

INFO: ------------- Scan web-demo

INFO: Language is forced to php

INFO: Load server rules

INFO: Load server rules (done) | time=71ms

INFO: Base dir: /home/jenkins/.jenkins/workspace/web-demo

INFO: Working dir: /home/jenkins/.jenkins/workspace/web-demo/.sonar

INFO: Source paths: .

INFO: Source encoding: UTF-8, default locale: en_US

INFO: Index files

INFO: 0 files indexed

INFO: Quality profile for php: Sonar way

INFO: Sensor Lines Sensor

INFO: Sensor Lines Sensor (done) | time=0ms

INFO: Sensor SCM Sensor

INFO: No SCM system was detected. You can use the 'sonar.scm.provider' property to explicitly specify it.

INFO: Sensor SCM Sensor (done) | time=0ms

INFO: Sensor Analyzer for "php.ini" files

INFO: Sensor Analyzer for "php.ini" files (done) | time=3ms

INFO: Sensor SonarJavaXmlFileSensor

INFO: Sensor SonarJavaXmlFileSensor (done) | time=0ms

INFO: Sensor Zero Coverage Sensor

INFO: Sensor Zero Coverage Sensor (done) | time=0ms

INFO: Sensor Code Colorizer Sensor

INFO: Sensor Code Colorizer Sensor (done) | time=0ms

INFO: Sensor CPD Block Indexer

INFO: DefaultCpdBlockIndexer is used for php

INFO: Sensor CPD Block Indexer (done) | time=0ms

INFO: Calculating CPD for 0 files

INFO: CPD calculation finished

INFO: Analysis report generated in 47ms, dir size=8 KB

INFO: Analysis reports compressed in 7ms, zip size=3 KB

INFO: Analysis report uploaded in 47ms

INFO: ANALYSIS SUCCESSFUL, you can browsehttp://192.168.3.199:9000/dashboard/index/web-demo

INFO: Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report

INFO: More about the report processing athttp://192.168.3.199:9000/api/ce/task?id=AV0YJcbrykzBCcoFv4Mt

INFO: ------------------------------------------------------------------------

INFO: EXECUTION SUCCESS

INFO: ------------------------------------------------------------------------

INFO: Total time: 43.045s

INFO: Final Memory: 42M/137M

INFO: ------------------------------------------------------------------------

Warning: you have no plugins providing access control for builds, so falling back to legacy behavior of permitting any downstream builds to be triggered

Triggering a new build of web-demo_deploy

Finished: SUCCESS

48304ba5e6f9fe08f3fa1abda7d326ab.png

1.6:pipeline插件:

1.6.1:#安装插件,系统管理-管理插件-可安装插件:

adaf2a6b9d74f47bc8ad261437473af6.png

1.6.2:建立视图:

e90718e06849918d11d2684e9ac9eb01.png

1.6.3:自定义名称:

d15b399002bd7f2c605c24e0e6c9ffdb.png

04c3d010451055b870f3dbc165179b35.png

bbc8aa39c36f6a77b76a0c3c7cdca0dd.png

4af480797f63c688447453d048d2e1ee.png

1.6.4:配置pipeline信息,点击OK以后,弹出以下视图

点击保存以后显示的最终界面:

6b5e54c62061a06b3eb439a005dfda38.png

b7ce1ea041f91acfab768ed89cd9f10b.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DL 元素 | dl 对象 DT 元素 | dt 对象 DHTML 对象 document 对象 -------------------------------------------------------------------------------- 代表给定浏览器窗口中的 HTML 文档。 成员表 下面的表格列出了 document 对象引出的成员。请单击左侧的标签来选择你想要查看的成员类型。 属性 SHOW: 属性 集合 事件 方法 对象 样式 属性 描述 activeElement 获取当父 document 拥有焦点时获得焦点的对象。 alinkColor 设置或获取元素中所有激活链接的颜色。 bgColor 不赞成。设置或获取表明对象后面的背景颜色的值。 charset 设置或获取用于解码对象的字符集。 cookie 设置或获取 cookie 的字符串值。 defaultCharset 从当前的区域语言中获取默认字符集。 designMode 设置或获取表明文档是否可被编辑的值。 dir 设置或获取表明对象的阅读顺序的值。 doctype 获取与当前文档关联的文档类型声明。 documentElement 获取对文档根结点的引用。 domain 设置或获取文档的安全域名。 expando 设置或获取表明是否可对象内创建任意变量的值。 fgColor 设置或获取文档的前景(文本)颜色。 fileCreatedDate 获取文件创建的日期。 fileModifiedDate 获取文件上次修改的日期。 fileSize 获取文件大小。 implementation 获取当前文档的 implementation 对象。 lastModified 获取页面上次修改的日期,若页面提供的话。 linkColor 设置或获取对象文档链接的颜色。 parentWindow 获取容器对象所在窗口的引用。 protocol 设置或获取 URL 的协议部分。 readyState 获取表明对象当前状态的值。 referrer 获取将用户引入当前页面的位置 URL。 uniqueID 获取为对象自动生成的唯一标识符。 URL 设置或获取当前文档的 URL。 URLUnencoded 获取文档的 URL,去除所有字符编码。 vlinkColor 设置或获取用户已访问过的链接颜色。 XMLDocument 获取对由对象引出的的 XML 文档对象模型(DOM)的引用。 XSLDocument 获取对 XSL 文档的顶层结点的引用。 属性 集合 集合 描述 all 返回对象所包含的元素集合的引用。 anchors 获取所有带有 name 和/或 id 属性的 a 对象的集合。此集合中的对象以 HTML 源顺序排列。 applets 获取文档中所有 applet 对象的集合。 childNodes 获取作为指定对象直接后代的 HTML 元素和 TextNode 对象的集合。 embeds 获取文档中所有 embed 对象的集合。 forms 获取以源顺序排列的文档中所有 form 对象的集合。 frames 获取给定文档定义或与给定窗口关联的文档定义的所有 window 对象的集合。 images 获取以源顺序排列的文档中所有 img 对象的集合。 links 获取文档中所有指定了 HREF 属性的 a 对象和所有 area 对象的集合。 namespaces 获取 namespace 对象的集合。 scripts 获取文档中所有 script 对象的集合。 styleSheets 获取代表与文档中每个 link 或 style 对象的实例相对应的样式表的 styleSheet 对象的集合。 事件 事件 描述 onactivate 当对象设置为活动元素时触发。 onbeforeactivate 对象要被设置为当前元素前立即触发。 onbeforecut 当选中区从文档中删除之前在源对象触发。 onbeforedeactivate 在 activeElement 从当前对象变为父文档其它对象之前立即触发。 onbeforeeditfocus 在包含于可编辑元素内的对象进入用户界面激活状态前或可编辑容器变成控件选中区前触发。 onbeforepaste 在选中区从系统剪贴板粘贴到文档前在目标对象上触发。 onclick 在用户用鼠标左键单击对象时触发。 oncontextmenu 在用户使用鼠标右键单击客户区打开上下文菜单时触发。 oncontrolselect 当用户将要对该对象制作一个控件选中区时触发。 oncut 当对象或选中区从文档中删除并添加到系统剪贴板上时在源元素上触发。 ondblclick 当用户双击对象时触发。 ondeactivate 当 activeElement 从当前对象变为父文档其它对象时触发。 ondrag 当进行拖曳操作时在源对象上持续触发。 ondragend 当用户在拖曳操作结束后释放鼠标时在源对象上触发。 ondragenter 当用户拖曳对象到一个合法拖曳目标时在目标元素上触发。 ondragleave 当用户在拖曳操作过程中将鼠标移出合法拖曳目标时在目标对象上触发。 ondragover 当用户拖曳对象划过合法拖曳目标时持续在目标元素上触发。 ondragstart 当用户开始拖曳文本选中区或选中对象时在源对象上触发。 ondrop 当鼠标按钮在拖曳操作过程中释放时在目标对象上触发。 onfocusin 当元素将要被设置为焦点之前触发。 onfocusout 在移动焦点到其它元素之后立即触发于当前拥有焦点的元素上触发。 onhelp 当用户在浏览器为当前窗口时按 F1 键时触发。 onkeydown 当用户按下键盘按键时触发。 onkeypress 当用户按下字面键时触发。 onkeyup 当用户释放键盘按键时触发。 onmousedown 当用户用任何鼠标按钮单击对象时触发。 onmousemove 当用户将鼠标划过对象时触发。 onmouseout 当用户将鼠标指针移出对象边界时触发。 onmouseover 当用户将鼠标指针移动到对象内时触发。 onmouseup 当用户在鼠标位于对象之上时释放鼠标按钮时触发。 onmousewheel 当鼠标滚轮按钮旋转时触发。 onmove 当对象移动时触发。 onmoveend 当对象停止移动时触发。 onmovestart 当对象开始移动时触发。 onpaste 当用户粘贴数据以便从系统剪贴板向文档传送数据时在目标对象上触发。 onpropertychange 当在对象上发生对象上发生属性更改时触发。 onreadystatechange 当对象状态变更时触发。 onresizeend 当用户更改完控件选中区中对象的尺寸时触发。 onresizestart 当用户开始更改控件选中区中对象的尺寸时触发。 onselectionchange 当文档的选中状态改变时触发。 onstop 当用户单击停止按钮或离开 Web 页面时触发。 方法 方法 描述 attachEvent 将指定函数绑定到事件,以便每当该事件在对象上触发时都调用该函数。 clear 目前尚未支持。 close 关闭输出流并强制将数据发送到显示。 createAttribute 以指定名称创建 attribute 对象。 createComment 以指定数据创建 comment 对象。 createDocumentFragment 创建一个新文档。 createElement 为指定标签创建一个元素的实例。 createEventObject 生成当使用 fireEvent 方法时用于传递事件相关信息的 event 对象。 createStyleSheet 为文档创建样式表。 createTextNode 从指定值中创建文本字符串。 detachEvent 从事件中取消指定函数的绑定,这样当事件触发时函数就不会收到通知了。 elementFromPoint 返回指定 x 和 y 坐标的元素。 execCommand 在当前文档、当前选中区或给定范围上执行命令。 focus 使得元素得到焦点并执行由 onfocus 事件指定的代码。 getElementById 获取对 ID 标签属性为指定值的第一个对象的引用。 getElementsByName 根据 NAME 标签属性的值获取对象的集合。 getElementsByTagName 获取基于指定元素名称的对象集合。 hasFocus 获取表明对象目前是否拥有焦点的值。 mergeAttributes 复制所有读/写标签属性到指定元素。 open 此方法以两种方式工作。该方法打开一个文档用于收集 write 和 writeln 方法的输出。在这种情况下,只使用前两个参数 url 和 name。若指定了附加参数,此方法将打开一个窗口,这与 window 对象的 window.open 方法相同。 queryCommandEnabled 返回表明指定命令是否可于给定文档当前状态下使用 execCommand 命令成功执行的 Boolean 值。 queryCommandIndeterm 返回表明指定命令是否处于模糊状态的 Boolean 值。 queryCommandState 返回表明命令当前状态的 Boolean 值。 queryCommandSupported 返回表明当前命令是否在当前区域上支持的 Boolean 值。 queryCommandValue 返回文档、范围或当前选中区对于给定命令的当前值。 recalc 重新计算当前文档中的全部动态属性。 releaseCapture 释放当前文档中对象的鼠标捕捉。 setActive 设置对象为当前对象而不将对象置为焦点。 write 在指定窗口的文档中写入一个或多个 HTML 表达式。 writeln 在指定窗口的文档中写入一个或多个 HTML 表达式,后面追加一个换行符。 对象 元素 对象 描述 BODY body 指定文档主体的开始和结束。 implementation 包含了关于对象支持的模块信息。 location 包含关于当前 URL 的信息。 selection 代表了当前激活选中区,即高亮文本块,和/或文当中用户可执行某些操作的其它元素。 TITLE title 包含文档的标题。 样式 样式属性 描述 compatMode 设置或获取表明此对象是否应用标准兼容模式的值。 注释 此对象在 Microsoft® Internet Explorer 3.0 的脚本中可用。 使用 document 对象可以对 HTML 文档进行检查、修改或添加内容,并处理该文档内部的事件。在 Web 页面上,document 对象可通过 window 对象的 document 属性引用,或者直接引用。 document 对象在主文档的任意时间均可用,但是对于目前正在轻便动态 HTML(DHTML) 行为中使用的 HTML 组件(HTC)来说却不可用。这是因为轻便的行为仅当在 HTC 文件中不使用 document 对象时才可被定义。结果将使得轻便的行为比常规行为运行更加快速和有效率。但是,轻便的 DHTML 行为可以与常规的 DHTML 行为一样的方法访问主文档的 document 对象。 ondocumentready 事件将通知 DHTML 行为包含该行为的主 Web 页面的 document 对象可用。只要 ondocumentready 被触发,行为就可以开始处理主 document 属性。 行为中的脚本可以在 HTC 或主文档中引用 document 对象。如果要在 HTC 文件中编码脚本,应使用 element.document 来引用主文档的 document 对象。 示例 下面的例子使用了 document 对象检查文档标题并在消息框中显示该标题(如果非空)。 if (document.title!="") alert("标题为 " + document.title) 下面的例子演示了在浏览器的状态栏上显示鼠标当前位置的事件句柄函数,所得位置相对于文档的左上角。 SHOWExample <HTML> <HEAD><TITLE>报告鼠标移动</TITLE> <SCRIPT LANGUAGE="JScript"> function reportMove() { window.status = "X=" + window.event.x + " Y=" + window.event.y; } </SCRIPT> <BODY onmousemove="reportMove()"> <H1>欢迎!</H1> </BODY> </HTML> 标准信息 没有应用于此对象的公共标准。 应用到 [ 对象名称 ] 平台 版本 Win32: Unix: Win16: WinCE: Mac: 版本数据当鼠标指向链接或链接获得焦点时在此列出。 CUSTOM, window 将鼠标光标移动到应用到清单中的元素即可显示关于列出平台的可用信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值