zoukankan      html  css  js  c++  java
  • 杂题

      2017.8.12

    1、返回上一页,怎么定位到某个锚点

        在跳转之前改变浏览器的hash。这样在下一页直接history.go(-1)就可以定位到锚点处

    2、url链接后的参数如何获取,并转化成对象

      location.search获取参数串,获取数据如:?a=1&b=2&c=3;

      然后通过截取字符串获得 [a=1,b=2,c=3]

      最后将数组内处理成对象,或者直接用正则将?a=1&b=2&c=3转化成json字符串,然后eval,但不建议

    3、同源策略

      脚本只能读取和所属文档来源相同的窗口和文档的属性。如果两个文档在协议、主机以及载入文档的URL端口这三点中有一点不同,就认为他们不同源。

      以下介绍三种实现“不严格的同源策略”的方法:

        a. 使用Document对象的domain属性
            默认情况下,属性domain存放的是载入文档的服务器的主机名。这一属性是可写的。
            如果两个窗口包含的脚本把domain设置为了相同的值,那么这两个窗口就不再受同源策略的约束,它们就可以相互读取对方的属性。
     
        b. 跨域资源共享(Cross-Origin Resource Sharing) 
            这种方法用新的“Origin:”请求头和新的响应头“Access-Control-Allow-Origin”来扩展HTTP。
        c. 跨文档消息(Cross-Document Messaging)
            允许来自一个文档的脚本可以传递文本消息到另一个文档里的脚本,不管来源是否相同。
            调用window对象的postMessage()方法,可以异步传递消息事件到窗口的文档里。这种方法仅仅是一种消息传递技术。

    4、html5的doctype和html4的doctype区别

      在 HTML 4.01 中,<!DOCTYPE> 声明引用 DTD,因为 HTML 4.01 基于 SGML。DTD 规定了标记语言的规则,这样浏览器才能正确地呈现内容。

      HTML5 不基于 SGML,所以不需要引用 DTD。

      SGML:标准通用语言,是一种很强大但很复杂的标记语言,HTML、XML 就是从中衍生出来的。

    5、css的选择器

      id   class  tag   子选择器:div > span   后代选择器:div  span  

      伪类选择器:a:hover    属性选择器:input[type="text"]

    7、如何获取字符串内所有相同的字符的组合

        

    var arr = 'abcdaabc';
    
    var info = arr
        .split('')
        .reduce((p, k) => (p[k]++ || (p[k] = 1), p), {});
    
    console.log(info); //{ a: 3, b: 2, c: 2, d: 1 }

    8、清除浮动的方法

       浮动产生的原因:使用了float属性,导致子元素撑不开父元素

       带来负作用:父元素不能正常展示,如背景 也影响父子元素之间的 padding和margin

        清除浮动方法:

            给父元素设置相应高度

            clear:both

            给父定义overflow:hidden

            万能清除法 after伪类 清浮动(现在主流方法,推荐使用

                选择符:after{ content:"."; clear:both; display:block; height:0; overflow:hidden; visibility:hidden; }

                  同时为了兼容 IE6,7 同样需要配合zoom使用例如:

                    .clear:after{content:'';display:block;clear:both;height:0;overflow:hidden;visibility:hidden;}

                     .clear{zoom:1;}

    9、如何在某个div的结束标签后动态添加js代码语句

          可以通过创建script标签对象,然后插入到div后面去,

      具体插入方法为:ele.insertAdjacentHTML('beforebegin','..some html..');

            或者:p.insertBefore(newNd,curNd):

    10.padding的百分比取值,参考父元素的宽度

  • 相关阅读:
    TabControl 切换 内嵌web页面直接响应滚动事件
    进程、应用程序域和对象上下文
    CSharp中的多线程——线程同步基础
    CSharp中的多线程——入门
    注重实效的程序员之快速参考指南
    学习语言技术快速入门——五步骤
    利用jQuery选择将被操作的元素
    CSharp中的多线程——使用多线程
    android开发文件介绍
    三角函数公式
  • 原文地址:https://www.cnblogs.com/laojun/p/7351878.html
Copyright © 2011-2022 走看看