广告
返回顶部
首页 > 资讯 > 后端开发 > Python >javascript基础-3
  • 875
分享到

javascript基础-3

基础javascript 2023-01-31 02:01:35 875人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

一、Browser对象 <一>、window对象 1.window.尺寸 当ie>=9时: window.innerHeight/outHeightwindow.innerWidth/outWidth 当ie=8,7,

一、Browser对象

<一>、window对象

1.window.尺寸

当ie>=9时:

window.innerHeight/outHeight
window.innerWidth/outWidth

当ie=8,7,6,5时:

window.documentElement.clientHeight/outHeight
window.documentElement.clientWidth/outWidth
或者
document.body.clientHeight
document.body.clientWidth

2.window.open();widow.colse();

(1).window.open(URL,name,features,[replace])

其中:
URL:新窗口的位置,有“省略/空格”时,不能显示任何文档;

name:窗口名称/target特性;

features:窗口特点:

channelmode=yes|no|1|0 是否使用剧院模式显示窗口。默认为 no。
directories=yes|no|1|0 是否添加目录按钮。默认为 yes。
fullscreen=yes|no|1|0 是否使用全屏模式显示浏览器。
默认是 no。处于全屏模式的窗口必须同时处于剧院模式。
height=pixels 窗口文档显示区的高度。以像素计。
left=pixels 窗口的 x 坐标。以像素计。
location=yes|no|1|0 是否显示地址字段。默认是 yes。
menubar=yes|no|1|0 是否显示菜单栏。默认是 yes。
resizable=yes|no|1|0 窗口是否可调节尺寸。默认是 yes。
scrollbars=yes|no|1|0 是否显示滚动条。默认是 yes。
status=yes|no|1|0 是否添加状态栏。默认是 yes。
titlebar=yes|no|1|0 是否显示标题栏。默认是 yes。
toolbar=yes|no|1|0 是否显示浏览器的工具栏。默认是 yes。
top=pixels 窗口的 y 坐标。
width=pixels 窗口的文档显示区的宽度。以像素计。

replace:一个可选布尔值

true:URL 替换浏览历史中的当前条目
false:URL 在浏览历史中创建新的条目

(2).window.close()
  • 直接调用;

    eg:
    <script type="text/javascript">
    function closeCurrentWindow()
    {
    window.close();
    }
    </script>

  • 当用于关闭指定的由window.open()打开的窗口,在没有window.open()时,则控制台显示“无法使用脚本关闭非脚本打开窗口”;

    eg:
    <script type="text/javascript">
    var openedWindow;
    function openWindow()
    {
    openedWindow = window.open('moreinfo.htm');
    }
    function closeOpenedWindow()
    {
    openedWindow.close();
    }
    </script>

(3).window.resize();window.scroll();

window.resizeBy(XX[px],YY[px]);——窗口尺寸变化的单位为:±XX,±YY (单位/px);
window.resizeTo(XX[px],YY[px]);——窗口尺寸变换为:XX,YY(单位/px);
window.scrollBy(XX[px],YY[px]);——屏幕滚动的单位为:±XX,±YY (单位/px);
window.scrollToo(XX[px],YY[px]);———屏幕滚动到数据位置:XX,YY(单位/px);
object.onscroll();onscroll事件:元素滚动时执行..;
document.Element.scrollTop||document.body.scrollTop;回顶;

2、History对象

  • window对象的一部分,可通过 window.history 属性对其进行访问:
  • window.history.back()——返回一前一个URL;
  • window.history.forward()——加载下一个URL;
  • window.history.Go()——加载某个具体的页面;

3、Laction对象

  • window对象的一部分,可通过 window.Location 属性对其进行访问:
  • 属性:
  • >window.location.hash()——返回一个URL的锚部分(#及其以后的部分);

    window.location.host()——返回/设置主机名及端口
    window.location.href()——返回完整的URL;
    window.location.search()——返回/设置RUL查询部分(从?开始的URL);
    window.location.port()——返回/设置一个URL服务器使用的端口号;

  • 方法:

    window.location.reload()——重新加载当前文档;
    window.location.assign()——加载一个新的文档;
    window.location.repalace()——替换当前文档;

<二>、Screen对象

Screen 对象包含有关客户端显示屏幕的信息。

screen.availHeight ——返回屏幕的高度(不包括windows任务栏)
screen.availWidth ——返回屏幕的宽度(不包括Windows任务栏)
screen.colorDepth ——返回目标设备或缓冲器上的调色板的比特深度
screen.height ——返回屏幕的总高度
screen.pixelDepth ——返回屏幕的颜色分辨率(每象素的位数)
screen.width ——返回屏幕的总宽度

window.innerHeight/Width、outHeight/Width与screen.height/width的区别
前者是,浏览器可见区域的内宽/高不含浏览器边框,但包含滚动条,兼容:ie9/10、chrome、firefox;
后者显示的是,屏幕的高度,同常与屏幕宽/高一致,兼容:ie7/8/9/10、chrome、firefox;

<三>、Navigatar对象

Navigator 对象包含有关浏览器的信息:
对象:

navigator.appCodeName——返回浏览器的代码名;
navigator.appName——返回浏览器的名称;
navigator.appVersion——返回浏览器的平台和版本信息;
navigator.cookieEnabled——返回指明浏览器中是否启用 cookie 的布尔值;
navigator.platfORM——返回运行浏览器的操作系统平台;
navigator.userAgent—— 返回由客户机发送服务器的user-agent 头部的值;

方法:

navigator.javaEnabled() ——指定是否在浏览器中启用Java,返回blooner;
navigator.taintEnabled() ——规定浏览器是否启用数据污点(data tainting);目前只有 Internet Explorer 和 Opera 浏览器支持 taintEnabled() 方法。
(链接为‘数据污点’的解释:
1、Http://bbs.csdn.net/topics/300242073
2、 https://stackoverflow.com/questions/11520708/data-tainting-in-javascript );

<四>、悬浮在页面中的广告(现在很少见了)

1、js方法:top=XX.原top值+滚动条的scrollTop的距离+”px”;效果比较流畅;
2、CSS方法“:fixed;会出现广告窗口抖动的情况;

二、浮动框架

<iframe src="URL" frameborder="n" name="XX" id="Y">

其中,src="URL"可用来调用其他XX.html文件,这样对一些通用的html。只需一个即可,而且f12检查时,显示为空。

运用:

<div> <a href="1.html" target="NAME名"> xx</a> </div>
<div> <iframe src="YY.html" framborder="0" name="NAME名" ></div>
即:使用相同的name,即可将两者联系起来,在同一界面中,无需重复iframe部分,至改变<a>内容即可;

  • 早期的iframe主要用于导航栏(navigator)

    但因为每次刷新都会回到首页,于是后台用ASP 有 SSI,PHP 有 require、require_once 或 include 函数、JSP 也有 include 指令等解决;

  • 现在使用iframe的地方如:

    沙箱隔离(Sandboxie:一种按照安全策略限制程序行为的执行环境。早期主要用于测试可疑软件等);
    引用第三方内容;
    独立的交互内容;
    需要保持独立焦点和历史管理的子窗口(在ajax中会面临用户无法退回上一步的情况,可以用iframe解决,ajax下面会说)

举例,目前用在邮箱(如qq邮箱)中、w3school的代码测试页面、网易音乐的底部播放条、所见即所得的网页编辑器(WYSIWYG Online HTML Editor)均在使用。

  • (详细情况自己还不明白,搜了一下,先存着,以后遇到慢慢研究。https://blog.51cto.com/blogger/publish)

    三、Cookie

    cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。
    以“键=值”对形式存储;
    js中,document.cookie——创建、读取、删除cookie;
    eg:

document.cookie="username=LITAI;expires='UTC/GMT' ";(注;协调世界时和格林尼治标准时间,现在普遍使用前者)

设置cookie方式:

(1)、 document.cookie="username=LITAI;expires='UTC/GMT' ";
(2)、var times=new Data().gettime();
times.setTime(newData().getTime()+1000);1000——延迟1000ms时间,以便显示之后1000ms后cookie消失;
(3)、有效时间=times.toUTCString()/tmes.toGTMString();

四、AJAX (Asynchronous JavaScript and XML)

<一>、AJAX

  • AJAX不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的WEB应用程序的技术。
    传统的web交互,每次用户提交请求时,服务器都会重新返回一个完整的Html页面,这样用户需要等待而服务器资源也被浪费,于是诞生了ajax等各种服务于此的技术。
    (ajax历史:https://www.cnblogs.com/shenzikun1314/p/6529911.html )
  • AJAX核心依赖的是浏览器提供的XMLHttpRequest对象,其原理相当于在服务器和用户之间加了一个AJAX引擎,使用户操作和服务器实现响应异步化。

过程:初始化——>>发请求——>>服务器接受并处理——>>获得服务器响应
参考:w3school:http://www.w3school.com.cn/ajax/ajax_xmlhttprequest_create.asp
(1)首先,创建XMLHttpRequest对象:

variable=new XMLHttpRequest()(;对于IE5/6版本使用:variable=new ActiveXObject("Microsoft.XMLHTTP");)

检查是否支持XMLHttpRequest 对象:

var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

(2)接着,向服务器发送请求:

xmlhttp.open("GET","test1.txt",true);
xmlhttp.send();

  • 其中:open(method、url、async)
    规定请求的类型、URL 以及是否异步处理请求。:

    method:请求的类型;GET 或 POST
    url:文件在服务器上的位置,任何形式的服务器脚本文件,.txt/.xml/.asp/.php;
    async:true(异步,浏览器可以做其他事)或 false(同步,浏览器不能做其他事),一般默认异步;

  • send(string)将请求发送到服务器:
  • > string:仅用于 POST 请求;
  • GET 还是 POST?
    与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。
    然而,在以下情况中,请使用 POST 请求:
  • 无法使用缓存文件(更新服务器上的文件或数据库
  • 向服务器发送大量数据(POST 没有数据量限制)
  • 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠

get请求:

xmlhttp.open("GET","demo_get.asp?t=" + Math.random(),true);
xmlhttp.send();为了避免缓存造成的网页自动保存情况,加一个如 Math.random()的变量;

post请求:

xmlhttp.open("POST","demo_post.asp",true);
xmlhttp.send();

(3)接着,向服务器处理后,我们开始接受服务器响应:
使用XMLHttpRequest 对象的 responseText 或 responseXML 属性:
responseText——获得字符串形式的响应数据 :

document.getElementById("myDiv").innerHTML=xmlhttp.responseText;

responseXML——获得 XML 形式的响应数据:
请求 books.xml (关于XML请求及响应文档的说明: http://blog.csdn.net/jason009/article/details/1299831 )文件,并解析响应:

(4)onreadystatechange 事件
当请求被发送到服务器时,我们需要执行一些基于响应的任务。
每当 readyState 改变时,就会触发 onreadystatechange 事件。
readyState 属性存有 XMLHttpRequest 的状态信息.

readyState —— 存有 XMLHttpRequest 的状态。从 0 到 4 发生变化(以数字表示):

  • 0: 请求未初始化
  • 1: 服务器连接已建立
  • 2: 请求已接收
  • 3: 请求处理中
  • 4: 请求已完成,且响应已就绪

status—— 状态以字符串表示(Ajax status和statusText状态对照表:http://blog.csdn.net/qi1271199790/article/details/60465859 ):

200: "OK"
404: 未找到页面

当 readyState 等于 4 且状态为 200 时,表示响应已就绪:

xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}

然后遍历并赋值即可:

xmlDoc=xmlhttp.responseXML;
txt="";
x=xmlDoc.getElementsByTagName("ARTIST");
for (i=0;i<x.length;i++)
{
txt=txt + x[i].childnodes[0].nodeValue + "<br />";
}
document.getElementById("myDiv").innerHTML=txt;

ajax实例1:

<script>
window.onload = function() {

var oBtn = document.getElementById('btn');

oBtn.onclick = function() {

    var xhr = null;
    try {
        xhr = new XMLHttpRequest();
    } catch (e) {
        xhr = new ActiveXObject('Microsoft.XMLHTTP');
    }
    
    xhr.open('get','links文件夹/X.get.php?username='+encodeURI('小明')+'&age=23&' + new Date().getTime(),true);
    xhr.send();

    xhr.onreadystatechange = function() {

        if ( xhr.readyState == 4 ) {
            if ( xhr.status == 200 ) {
                alert( xhr.responseText );
            } else {
                alert('出错了,Err:' + xhr.status);
            }
        }

    }

}

}
</script>

<二>、AJAX的封装:

<script src="js/ajax.js"></script>
<script>
window.onload = function() {
var oBtn = document.getElementById('btn');
oBtn.onclick = function() {
ajax('get','links/getNews.php','',function(data) {
var data = JSON.parse( data );
var oUl = document.getElementById('content');
var html = '';
for (var i=0; i<data.length; i++) {
html += '<li><a href="">'+data[i].title+'</a>[<span>'+data[i].date+'</span>]</li>';
}
oUl.innerHTML = html;
});
}
}
</script>

应用:
1、photolist:

<div class="show"></div>
<input type="button" class="btn" value="加载中."/>
<script src="js/ajax.js"></script>
<script>
window.onload=function(){

    var show=document.getElementsByClassName("show")[0];

    var btn=document.getElementsByClassName("btn")[0];

    var page=0;

    var loading=false;

    loadingpage()

    btn.onclick=function(){
        if(!loading){
            loadingpage()
        }
    }
    function loadingpage(){

        loading=true;
        btn.value="加载中.....";

        ajax("get","*links/getImages.php*?page="+page,"",function(data){
            var ndata=JSON.parse(data);
            if(!ndata.err){
                var msg="";
                for(var i=0;i<ndata.length;i++){
                    msg+="<div class='pic'><img src='"+ndata[i].src+"'><p>"+ndata[i].name+"</p></div>";
                }
                var nshow=document.createElement("div");
                nshow.innerHTML=msg;
                show.appendChild(nshow);

                page++;
                btn.value="点击加在更多图片";
                loading=false;
            }
            else{
                btn.value="已经没有图片了";
            }
        })
    }
}

</script>
2、获取data值:
从获取

<body>
<input type="text" class="city"/>
<button>显示天气</button>
<p class="show">
今天是:<span class="date1"></span><br>
天气:<span class="type1"></span><br>
最高温度为 <span class="high1"></span><br>
最底温度为 <span class="low1"></span><br>
</p>
<script src="js/ajax.js"></script> <!--文件所在位置-->
<script>
window.onload=function(){
var city=document.getElementsByClassName("city")[0];
var btn=document.getElementsByTagName("button")[0];
var date1=document.getElementsByClassName("date1")[0];
var type1=document.getElementsByClassName("type1")[0];
var high1=document.getElementsByClassName("high1")[0];
var low1=document.getElementsByClassName("low1")[0];
btn.onclick=function(){
var city1=city.value;
ajax("get","http://wthrcdn.etouch.cn/weather_mini?city="+city1,"",function(da){
var data=JSON.parse(da);
console.log(data);
var list=data.data.forecast[0];
date1.innerHTML=list.date;
type1.innerHTML=list.type;
high1.innerHTML=list.high;
low1.innerHTML=list.low;
})
}
}
</script>
</body>

--结束END--

本文标题: javascript基础-3

本文链接: https://www.lsjlt.com/news/186201.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • javascript基础-3
    一、Browser对象 <一>、window对象 1.window.尺寸 当ie>=9时: window.innerHeight/outHeightwindow.innerWidth/outWidth 当ie=8,7,...
    99+
    2023-01-31
    基础 javascript
  • python基础3
    python基础3 交换:a,b=b,a相当于定义了一个元组t=(b,a)然后将t[0]的值给了a,t[1]的值给了b####字典####定义用花括号集合定义若为空的话,会默认为字典,所以集合不能为空子典只能通过关键字来查找值,因为字典是k...
    99+
    2023-01-31
    基础 python
  • Linux基础(3)
    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可    who | cut -d '' -f1 |sort |uniq2、列出最后登录到当前系统的用户的相关信息。    last |head -1 3...
    99+
    2023-01-31
    基础 Linux
  • php基础3
    php基础31、post和get可用于发送和接受表单的信息2、post和get在处理表单时候都创建数组array,数组以键值对形式,表单元素名做键,文本框内容做值3、GET和POST被视作$_GET 和 $_POST 他们是超全局变量,可以...
    99+
    2023-01-31
    基础 php
  • Linux基础篇之五基础命令 ---- 3
    在linux中,我们经常需要查找某些文件,以及文件所在目录等。那么我们需要用到一些基本的文件查找类命令。文件查找命令主要有以下几个:·which    查看命令或可执...
    99+
    2022-10-18
  • Python基础笔记3
    1.Python内置了很多有用的函数,我们可以直接调用。要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数。可以直接从Python的官方网站查看文档:http://docs.python.org/3/libra...
    99+
    2023-01-31
    基础 笔记 Python
  • docker-3 基础命令
    创建镜像创建镜像的方法有三种:基于已有的容器创建基于本地模板导入基于dockerfile基于已有的容器创建主要使用docker commit 命令,命令格式:docker commit [OPTIONS] CONTAINER [REPOSI...
    99+
    2023-01-31
    命令 基础 docker
  • linux命令基础(3)
    find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。find的使用格式如下:find <指定目录> <指定条件> <指定动作>- <指定目录>: 所要搜索的目录及其所有子目录。...
    99+
    2023-01-31
    命令 基础 linux
  • Linux基础知识3
     Linux 命令的语法格式COMMAND options arguments 命令可分为:命令、应用程序、脚本文件三类命令按类型分为:内部命令:即集成在系统内核中的命令外部命令:独立的可执行程序,程序名即为命令名区分内部命令或外部命令可使...
    99+
    2023-01-31
    基础知识 Linux
  • mysql基础知识-3
    一、mysql修改用户密码方法:    方法一:mysqladmin -u username -h host -p password 'new_password';    方法二:mysql>set password for 'use...
    99+
    2023-01-31
    基础知识 mysql
  • Linux基础命令(3)
    十二 lsof命令简介lsof(list open files) 是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以 如传输控制协议 (TCP) ...
    99+
    2023-01-31
    命令 基础 Linux
  • 3. Python基础语法
    我们在文言文中经常会看到注释,注释可以帮助读者对文章的理解。代码中的注释也是一样,优秀的代码注释可以帮助读者对代码的理解。当然在代码编写过程中,注释的使用不一定只是描述一段代码,也可能的是对代码的调试。 Python注释一共有# 、'''...
    99+
    2023-01-31
    语法 基础 Python
  • (3)Powershell基础知识(一)
    上节介绍了Windows自带的Powershell开发工具:命令行行窗体和集成开发环境ISE的启动及一些配置注意事项,具体细节使劲戳Powershell开发工具。这一节介绍Powershell的基础知识,包含以下知识点Powershell的...
    99+
    2023-01-31
    基础知识 Powershell
  • python之路-基础篇3
    作业:1、每周写一篇博客2、编写登录接口     输入用户名密码     认证成功后显示欢迎信息     输错三次后锁定3、多级菜单     三级菜单     可依次选择进入各子菜单     所需新知识点:列表、字典data = { "水...
    99+
    2023-01-31
    之路 基础 python
  • python基础3——运算符
    注: from future import division <---除法运算中python2导入此模块,除不尽时,小数部分也会显示,python3中不需要导入 1'''----------运算符 + 、—、*、/、%、*--...
    99+
    2023-01-31
    运算符 基础 python
  • HP-UX基础命令3
    crontab -l 查看schedule列表crontab -e 编辑schedule列表   5    *    *    *    *    /opt/psb/bin/restart_logserv.sh               ...
    99+
    2023-01-31
    命令 基础 HP
  • python学习-3 python基础-
    1.基础知识 ~后缀名是可以是任意的 ~导入模块时,如果不是.py就会报错 =》》所以尽量后缀名携程.py 2.执行方式 -python解释器 3.   #!/usr/bin/env python          -----------...
    99+
    2023-01-31
    基础 python
  • 集群-基础知识3
    纠正:报文进入内核空间后,当到达input链时发现是一个集群服务时,则直接发送到postrouting链,不经过forward链。调度算法:1、静态方法:rr:轮询,即依照次序从所有RS中进行挑选wrr:加权轮询,按照权重在RS中进行轮询s...
    99+
    2023-01-31
    集群 基础知识
  • 网络基础入门3
    路由 路由器的工作原理:1、路由器仅仅关心数据中的 “ 目标IP 地址” ; 2、路由器提取 目标IP地址,与 路由表中的条目...
    99+
    2023-01-31
    入门 基础 网络
  • 基础篇-脚本题(3)
    问题: [root@base tmp]# cat ent.txt 1 2 3 4 5 6 7 8 9 10 要求输出结果:1+2+3+4+5+6+7+8+9+10+=55 最好使用tr命令打印出 分析题后,想到最简单的解法就是循环拼接打...
    99+
    2023-01-31
    脚本 基础
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作