最近遇到的几个小东西

关于window.locationjavascript

window.location.href  获取整个urlhtml

window.location.pathname 获取文件目录前端

window.location.hostname  获取域名java

 

每一次打开新的页面,浏览器都会记录页面历史,回退的时候经常使用back()方法json

history.back() 跨域

若是想在当前页面的基础上打开一个页面,这样不会有浏览记录的存在浏览器

能够这么干  window.location.replace()安全

 

例如:window.location.replace("http://www.baidu.com");服务器

 

 

关于跨域:app

浏览器为了安全,搞了个同源策略,(协议、域名、端口),有一个不同,很差意思,就不容许请求的发生!

大神们想出了多种方法:

1,若是是内部的服务器的话,让后设置下能够跨域,简单省事!

response.setHeader("Access-Control-Allow-Origin", "*");  * 就表明全部,这里能够根据须要本身设置

2,jsonp,咱们请求的js,没有不容许这一说,随便搞,

,利用js的这一特性,在html文件中动态插入script标签,引用这个js,callback函数返回json字符串

function addScript(){
    var script = document.createElement("script");
    script.type = "text/javascript" ;
    script.src = "http://localhost:8080/cross-domain/server/jsonp.jsp?callback=showName&data=1" ;
    document.body.appendChild(script);
}

总而言之就是生成数据的js数据文件,引用一下,就能够拿到数据了

可是请求成功与否很差断定,还有就是请求地址可见,不安全

3,代理proxy

这个用的就比较多了,

种方式首先将请求发送给后台服务器,经过服务器来发送请求,而后将请求的结果传递给前端。

var url = "http://localhost:8080/cross-domain/server/proxy.jsp"
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET",url,true);
xmlhttp.onreadystatechange = function (){
    if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
        console.log(xmlhttp.responseText);
    }
}
xmlhttp.send();

4.window.name + iframe

window.name能够跨页面使用

拷贝别人的代码:

<script type="text/javascript">
    var state = 0, 
    iframe = document.createElement('iframe'),
    loadfn = function() {
        if (state === 1) {
            var data = iframe.contentWindow.name;    // 读取数据
            alert(data);    //弹出'I was there!'
        } else if (state === 0) {
            state = 1;
            iframe.contentWindow.location = "http://a.com/proxy.html";    // 设置的代理空文件
        }  
    };  
    iframe.src = 'http://b.com/data.html';//数据文件
    if (iframe.attachEvent) { //页面加载js时,此时iframe尚未插入到页面里,执行的代码2,指向空文件
        iframe.attachEvent('onload', loadfn); //1
    } else {
        iframe.onload  = loadfn;  //2
    }
    document.body.appendChild(iframe);  //iframe插入页面,监听事件起做用,执行代码2,获取数据
</script>详细信息转载自这里:http://www.cnblogs.com/rainman/archive/2011/02/21/1960044.html
相关文章
相关标签/搜索