精华内容
下载资源
问答
  • 浏览器接收到信息,输出到当前页面上上面介绍了浏览器和服务器交互的简单示意图,可以看到在最后一步,浏览器接收到信息后将本页面的内容全部进行了更新,但是一般情况下我们只需要将部分内容进行更新,那怎么办呢?...

    在了解Ajax之前我们先了解一下浏览器和服务器之间如何进行交互的

    1.浏览器向服务器发送请求

    799e8a5f79c6546d80c39a3105d4ee7a.png

    2.服务器接收到请求信息,根据不同的情况再返回给浏览器不同的信息

    3c7c7ecd126bac68d8e502bcb8608bf4.png

    3.浏览器接收到信息,输出到当前页面上

    693a88feedc12c078b2e3631562d4055.png

    上面介绍了浏览器和服务器交互的简单示意图,可以看到在最后一步,浏览器接收到信息后将本页面的内容全部进行了更新,但是一般情况下我们只需要将部分内容进行更新,那怎么办呢?于是服务器干脆将这个页面的内容修改后全部发送给浏览器,于是第2步,服务器向浏览器发送的便是"天上星星有几颗?我不知道啊"这么多的内容,浏览器重新更新当前页面后的结果和发送前的结果一比较,只多了"我不知道啊"这些内容

    6808ab95cb550ff2e103f9fe68c7989a.png

    很明显,"天上星星有几颗?"这些内容是重复的,有没有一个办法能只发送"我不知道啊"吗?于是聪明的程序员就就就就....就将,stop,我们再回头看第三步,浏览器接收到信息之后将当前页面卸载掉并且重写了,so ga,如果把卸载这一步取消掉,把重写的操作改为修改不就ok了吗?于是在浏览器和服务器之间就有了一个劫持者,他将服务器返回的信息劫持,然后取消了浏览器的卸载操作,并且修改了当前页面,这就是Ajax的基本原理。

    3f132713cc71fb11b8e80e6fa93a2e7f.png

    未完待续,过几天会更新Ajax的详细用法以及如何兼容不同的浏览器

    展开全文
  • html页面加载原理和浏览器应用程序交互原理 ...a 浏览器下载html页面 ...c 逐个处理标签,有可能需要...在所有的逻辑中,浏览器只关注2个模型的变动:对css的变更和对dom的变更。或者说js和浏览器交互的介质是css语义树和do

    html页面加载原理和浏览器应用程序交互原理

    1. html加载原理
    a 浏览器下载html页面
    b 解析html为dom树
    c 逐个处理标签,有可能需要下载其他文件(图片,css,js等)
    d css处理为相应的语义的树
    e 处理js的时候,直接执行。期间,js可能执行任意的逻辑。在所有的逻辑中,浏览器只关注2个模型的变动:对css的变更和对dom的变更。或者说js和浏览器交互的介质是css语义树和dom树。对这2个的变更可能导致浏览器重新渲染页面
    f 整个页面渲染完成

    1. html 应用程序交互原理(基于事件的应用程序,标准的gui)
      整个页面的浏览器对象,dom对象共同的构成了浏览器的交互界面。所有的html标签都是一个组件,都有相应的功能,有相应的数据和方法。整个交互和的过程是基于事件的应用程序。而js脚本基本上是事件的处理器,但是也可以产生新的事件。
    展开全文
  • 今天因我的同桌想做一公司内部的管理后台,但是想实现一效果:管理后台打开一个页面页面上有一二维码,二维码方便有一绿色的按钮,当客户端扫描二维码之后,管理后台的按钮由绿色变为红色。 方案一、js ...

       今天因我的同桌想做一个公司内部的管理后台,但是想实现一个效果:管理后台打开一个页面,页面上有一个二维码,二维码方便有一个绿色的按钮,当客户端扫描二维码之后,管理后台的按钮由绿色变为红色。

    方案一、js

                 最简单的办法就是,APP请求服务器,服务器去改变对应数据里的状态字段,页面里套用一个js 的ajax方法实时请求这个字段的值,但是这样对于一个页面的这个做法感觉有点因小失大了,如果页面有好多数据量的话,页面会很慢,还会很卡。随意被pass了。

             



    方案二、webSocket

                  按照 web实现推送消息的机制,服务器作为socket服务,客户端扫完二维码之后向服务器推送消息,服务器再向对应UID的页面推送消息

                 

                

    代码:

        1、去网站下载对应的程序包,放到服务器开socket服务     http://www.workerman.net/web-sender,按照上面说的取搭建就好了

        2、分为  接收接口、发送两个接口

             接收接口:负责连接socket服务器,取消息

            发送接口:负责连接socket服务器,发送消息

    接收:

    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <link href="main.css" rel="stylesheet" type="text/css" />
    <script src='//cdn.bootcss.com/socket.io/1.3.7/socket.io.js'></script>
    <script src='//cdn.bootcss.com/jquery/1.11.3/jquery.js'></script>
    <script src='/notify.js'></script>
    </head>
    <body>
    
    <script>
    $(document).ready(function () {
        // 连接服务端
    	
        var socket = io('http://localhost:2120');
        // 连接后登录
        socket.on('connect', function(){
        	socket.emit('login', 596272866);
        });
        // 后端推送来消息时
        socket.on('new_msg', function(msg){
             $('#content').html('收到消息:'+msg);
             $('.notification.sticky').notify();
    		 
    		 
    		 alert(msg);
        });
        // 后端推送来在线数据时
        socket.on('update_online_count', function(online_stat){
            $('#online_box').html(online_stat);
        });
    });
    </script>
    
    </body>
    </html>
    发送:

    <?php
    // 指明给谁推送,为空表示向所有在线用户推送
    $to_uid = "596272866";
    // 推送的url地址,上线时改成自己的服务器地址
    $push_api_url = "http://localhost:2121";
    $post_data = array(
       "type" => "publish",
       "content" => $_REQUEST['content'],
       "to" => $to_uid, 
    );
    $ch = curl_init ();
    curl_setopt ( $ch, CURLOPT_URL, $push_api_url );
    curl_setopt ( $ch, CURLOPT_POST, 1 );
    curl_setopt ( $ch, CURLOPT_HEADER, 0 );
    curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
    curl_setopt ( $ch, CURLOPT_POSTFIELDS, $post_data );
    curl_setopt ($ch, CURLOPT_HTTPHEADER, array("Expect:"));
    $return = curl_exec ( $ch );
    curl_close ( $ch );
    var_export($return);






    展开全文
  • 浏览器页面交互控件的自动加载

    千次阅读 2006-10-10 11:32:00
    在WEB页面中包含交互控件时,浏览器会提示用户是否激活该对象,例如在页面中包含SVG的时候:html>head>title>SVG事件title>body >embed name="id1" align="top" src="1.svg" height="200px" width="400px" ...

    在WEB页面中包含交互控件时,浏览器会提示用户是否激活该对象,例如在页面中包含SVG的时候:

    < html >< head >< title > SVG事件 </ title >
    < body  >< embed  name ="id1"  align ="top"  src ="1.svg"  height ="200px"  width ="400px"  type ="image/svg+xml" >
    </ body >
    </ html >

    当鼠标移动到SVG上,会提示“单击以激活并使用该控件”。

     

    MSDN中是这样描述的:

     

    交互控件 是提供用户界面的 ActiveX 控件。当 Web 页使用 APPLET、EMBED 或 OBJECT 元素加载某个 ActiveX 控件时,该控件的用户界面在用户激活它之前一直是阻止的。如果一个页面使用这些元素加载多个控件,则每个交互控件必须单独激活。

    如果某个控件未激活,就会出现以下结果。

    • 与用户交互相关的动态 HTML (DHTML) 事件(如 onblur 和 onclick)被阻止。附录 A 列出控件未激活时受阻的 DHTML 事件。
     
    • 该控件不响应键盘或鼠标生成的窗口消息,如 WM_CLICK、WM_KEYPRESS 等。
     
    • 覆盖窗口(创建于控件的 OLE 站点)防止键盘和鼠标消息到达未激活的控件。
     

    创建了一个未激活控件后,Internet Explorer 使用不同技术防止键盘或鼠标窗口消息到达该控件。如果未激活控件是一个有窗口的控件(如 HTML Help 控件),Internet Explorer 使用 EnableWindow 函数禁用这个未激活控件的窗口。当用户激活一个有窗口的控件时,该函数激活禁用的窗口。如果未激活控件是一个无窗口控件(如 Office Web 组件),则该控件的容器会筛选键盘和鼠标消息。

    如果某个控件未激活,它不响应用户输入,但执行与交互无关的操作。例如,如果您打开一个使用 Microsoft Windows 媒体播放器播放音乐文件的 Web 页,该页加载后才会播放音乐。只有该控件的用户界面激活后,您才能与 Windows 媒体播放器交互。

     

    有时我们希望避免这种情况,让用户可以在页面显示后直接使用该控件,以便给用户更好的使用感觉,这时有两个办法

    1,可以使用脚本外部加载的方法,在HTML中不直接使用embed方法,而是嵌入一个外部脚本

     

    < script src = " Embed1.js " ></ script >

    在脚本中使用动态加载的方式,将SVG或其它交互控件嵌入页面

     

    document.write( '  <embed name="id1" align="top" src="1.svg" height="200px" width="400px" type="image/svg+xml">  ' );

     

    这是再打开页面,就不用用户激活控件了。

    2,使用frame或iframe框架,在框架中引入控件

     

    < html >
    < head >< title > FRAMES </ title >
    < frameset  rows ="100,*" >
        
    < frame  src ="play.svg"  name ="svg1" />
        
    < frameset  cols ="50%,50%" >
            
    < frame  src ="2.svg"  name ="svg2" />
            
    < frame  src ="3.svg"  name ="svg3" />
        
    </ frameset >
    </ frameset >
    </ html >

     

    可见第二种方法更加方便直观,不过在实际测试中发现对OBJECT方法嵌入的控件,例如媒体播放器等,只能使用第一种方式,使用FRAME的方法无效。

    展开全文
  • 目录1 概述1.1 页面浏览日志采集1.2 页面交互日志采集2 页面浏览日志采集流程2.1 页面访问过程3 页面交互日志采集流程 1 概述 浏览器页面日志采集分两大类:页面浏览日志采集、页面交互日志采集。 1.1 页面浏览...
  • 这篇文章主要介绍了Ajax中...浏览器接收到信息,输出到当前页面上上面介绍了浏览器和服务器交互的简单示意图,可以看到在最后一步,浏览器接收到信息后将本页面的内容全部进行了更新,但是一般情况下我们只需要将...
  • 浏览器与服务器交互图 当我们打开浏览器,在浏览器的地址栏中输入URL地址"http://www.gacl.cn:8080/JavaWebDemo1/1.jsp"去访问服务器上的1.jsp这web资源的过程中,浏览器和服务器都做了神马操作呢,...
  • 于是服务器干脆将这个页面的内容修改后全部发送给浏览器,于是第2步,服务器向浏览器发送的便是”天上星星有几颗?我不知道啊”这么多的内容,浏览器重新更新当前页面后的结果和发送前的结果一比较,只多了”我不...
  • 浏览器访问一个页面的步骤详解

    千次阅读 2018-06-21 21:57:37
    面试时经常被问到:浏览器访问一个页面的时候背后的步骤是怎样的?我往往是把HTTP请求和响应讲了一下。现在想想,感觉仅仅回答HTTP请求和响应有点太窄了。所以,这里主要从计算机网络的角度将浏览器访问一个页面的...
  • 服务端和浏览器交互 浏览器在ajax异步请求诞生之前, 所有的路由、响应都是由服务端控制的 ajax之后开始出现异步交互, 提高了用户的体验 这里以提交表单, 注册为例 注册 表单具有默认的提交行为,默认是...
  • 交互文档说明 前言 1.1 编写目的 1.2 项目背景 1.3 定义 1.4 参考资料 1.5 预期读者 网站交互设计运行软件环境分析 2.1 平台 2.2 屏幕分辩率 2.3 浏览器 2.4 版本 2.5 鼠标键盘响应事件 三 整站内容交互方式设计 ...
  • 浏览器和Web服务器交互的几动作,则正确的顺序是 4213 4浏览器通过DNS协议解析域名 2浏览器和Web服务器建立一TCP连接 1浏览器使用HTTP协议请求一个页面 3Web服务器发送网页内容给到浏览器 参见...
  • 我将这过程分成两部分:一部分是浏览器发送请求到服务器返回数据;一部分是浏览器收到数据开始渲染返回的结果。 先上整体的一框架: DNS 解析 每一网址都有一相对应的独特的 IP 地址,这 IP 地址对应着...
  • 2.如果本地hosts文件没有找到对应的IP地址,浏览器会发出一DNS请求到本地的服务器,本地的DNS服务器指的是中国联通或者中国移动; 3.先读取本地的DN解析器缓存,如果没有缓存向跟本地的DNS服务器查询,然后迭代查询...
  • iframe交互问题,浏览器存在差异

    千次阅读 2018-04-10 14:20:09
    在不同浏览器中,google浏览器出于安全考虑,对于file协议有安全限制,无法用js访问本地资源。 为了说明不同浏览器间iframe访问的差异,我将举例说明。 huangbaokang.html &amp;lt;!DOCTYPE html&amp;gt;...
  • 有如下几对象供和浏览器交互使用: HtmlPage:允许访问和操作浏览器的文档对象模型 HtmlDocument:表示浏览器中的Html文档 HtmlElement:表示文档对象模型中的Html元素 HtmlWindow:提供JavaScript的Window...
  • 浏览器和轻量级方式,用于检查用户是否正在查看页面或正在与页面进行交互。 查看或阅读以下代码示例或查看带 安装 从npm npm install ifvisible.js --save 从鲍尔 bower install ifvisible.js 对于流星 mrt add...
  • 作为一软件开发者,你一定会对网络应用如何工作有一完整的... 首先嘛,你得在浏览器里输入要网址:2. 浏览器查找域名的IP地址导航的第一步是通过访问的域名找出其IP地址。DNS查找过程如下:* 浏览器缓存 – 浏览器
  • 服务器与浏览器之间的交互,在此期间所涉及到页面的生命周期与请求回发问题
  • 一、浏览器访问网站的过程 在浏览器地址栏中输入网址 浏览器通过用户在地址栏中输入的url构建http请求 浏览器发起DNS解析请求,将域名转换为IP地址 浏览器将请求报文发送给服务器 服务器接收请求报文,并解析 ...
  • 但是这控在内、外交互时,往往各个浏览器所用的关键字不同,很是麻烦,为了能够得到子iframe中的window对象,各家浏览器有着各家的指定,有的是window,有的是contentWindow等等也许还有我们不知道的。 但是从子...
  • 通常,对于两不同页面的脚本,只有当执行它们的页面位于具有相同的协议(通常为https),端口号(443为https的默认值),以及主机 (两个页面的模数 Document.domain设置为相同的值) 时,这两脚本才能相互通信。...
  • 问题:打开浏览器,在地址栏输入url到页面展现,整个过程发生了什么? 图示: 步骤: 1 用户输入网址,包括协议和域名。 2 浏览器先查找自身缓存有没有记录,没有的话再找操作系统缓存。 3 ...
  • 浏览器发送请求到服务器 1.在浏览器地址栏中输入请求地址,浏览器解析请求URL,解析出IP地址等信息(域名解析) 2.解析后的URL信息封装成HTTP报文 3.浏览器创建一socket调用send()方法将HTTP报文发送到服务器...
  • winform 内嵌Google浏览器 Chrome 能与js前端页面交互
  • Silverlight和浏览器交互(1)

    千次阅读 2010-09-07 21:15:00
    Silverlight和浏览器交互
  • 浏览器服务器交互过程

    千次阅读 2013-09-07 14:27:04
    2.被访问时,服务器会创建前台页面类对象来作为处理请求的对象。 3.前台类对象是如何结合后台类的方法生成整个页面的HTML代码的呢? 被请求时,页面控件对象的生成。控件树负责组织整个页面的内容。(_...
  • 官网交互浏览器扩展。 主要目标是能够跟踪每问题的活动和所有相关事件:提交、编码解决方案所花费的时间、问题的重复。 然后将跟踪的活动上传到 ,用户可以在其中匿名查看他们的进度和关键点,并使用类似于以下...
  • 总结Flex与浏览器交互

    千次阅读 2010-01-09 17:33:00
    在用flex做Web应用时为了扩展应用程序功能,势必会更多的同浏览器进行交互,这样就会用到下面介绍的知识1、在Flex中实现URL 跳转(使用flash.net.navigateToURL()方法如:) /* * param1: 要跳转的URL * param2: 跳转...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 305,336
精华内容 122,134
关键字:

交互浏览器2个页面