首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Javascript操作将session资料存入window.name

查了一些资料,大家一致认为除了 Node.js 和服务端,在 JavaScript 里没有 session 这种东西(或者说很不常见),所有的变数,函式等等的资料在页面重新载入时都会被清空,不过我发现... Session || (function() {      // cache window 物件   var win = window.top || window;       // 将资料都存入 window.name...json 格式   function Save() {     win.name = JSON.stringify(store);   };       // 在页面 unload 的时候将资料存入 window.name...而 window.name 这个 property 在页面跳出时是不会被清除的。...声明:本文由w3h5原创,转载请注明出处:《Javascript操作将session资料存入window.name里》 https://www.w3h5.com/post/410.html

1K10

解决ajax跨域请求 (总结)

ajax跨域请求,目前已用几种方法实现: 1)用原生js的xhr对象实现。                ...在响应头中,服务端返回Access-control-Allow-Origin:*. 2),通过jsonp数据来实现,说白了,jsonp就是js可执行文件,由于和,加载的文件不受同源限制...window.name都有读写的权限,window.name是持久存在一个窗口载入过的所有页面中的,并不会因新页面的载入而进行重置。...比如有一个www.example.com/a.html页面,需要通过a.html页面里的js来获取另一个位于不同域上的页面www.cnblogs.com/data.html里的数据。...上面的代码只是最简单的原理演示代码,你可以对使用js封装上面的过程,比如动态的创建iframe,动态的注册各种事件等等,当然为了安全,获取完数据后,还可以销毁作为代理的iframe。

89880

js中几种实用的跨域方法原理详解

这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据。...这样jsonp的原理就很清楚了,通过script标签引入一个js文件,这个js文件载入成功后会执行我们在url参数中指定的函数,并且会把我们需要的json数据作为参数传入。...window.name都有读写的权限,window.name是持久存在一个窗口载入过的所有页面中的,并不会因新页面的载入而进行重置。...如果在之后所有载入的页面都没对window.name进行修改的话,那么所有这些页面获取到的window.name的值都是a.html页面设置的那个值。...通过window.name来进行跨域,就是这样子的。

1.7K10

js中几种实用的跨域方法原理详解

这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据。...因为是当做一个js文件来引入的,所以http://example.com/data.php返回的必须是一个能执行的js文件,所以这个页面的php代码可能是这样的: ?...window.name都有读写的权限,window.name是持久存在一个窗口载入过的所有页面中的,并不会因新页面的载入而进行重置。...如果在之后所有载入的页面都没对window.name进行修改的话,那么所有这些页面获取到的window.name的值都是a.html页面设置的那个值。...通过window.name来进行跨域,就是这样子的。

2.2K80

layer实现关闭弹出层刷新父界面功能详解

在layer弹出层中调用父界面重新加载函数 1 2 3 window.parent.location.reload(); varindex = parent.layer.getFrameIndex(window.name...对于layer.js出现回调关闭父类的弹出层时,之前的表单的submit失效的问题: 如何解决:网上有很多,有的是转为ajax的请求,在数据传输完再关闭父类的弹出层: 下面是关闭父弹出层的办法: 1 2...varindex = parent.layer.getFrameIndex(window.name);//获取窗口索引 parent.layer.close(index);// 关闭layer 采用...(function() {   parent.layer.close(index);// 关闭layer },500); 我还需要在关闭父类窗口后再打开一个窗口,则怎么解决,后面发现layer.js留有一个好的方式...,那就是调用父窗口的方法,这个不受子窗口的影响,通过:parent.父类方法名(参数)这样就可以了,在父窗口中再调用layer.js的弹出就好了。

4.6K60

微信朋友圈“空”消息的H5模拟

== "") { document.getElementById("message").value=""; window.name="modify... 点击文本框输入内容先清空默认提示信息,为了避免再次输入的时候继续清空,所以修改了window.name的值。...window.name="modify"; } 获取文本框的值,然后去空格检查长度是否是零,如果是零则让按钮不可用,否则让按钮可用。...属性第一次打开页面为空 window.name == "" //如何通过js获取一个文本框的值,这里需要文本框有ID属性 document.getElementById("message").value...所以这里再次强调一下所有客户端的内容都是不可靠的哪怕你做了JS混淆也可以通过Eval()函数执行,所以服务器端的校验是非常重要的,当然同样就算是服务器返回的内容也要做校验,避免被注入。

1.7K40

Web前端学习笔记之前端跨域知识总结

0x07 通过window.name跨域 window对象有个name属性,该属性有个特征:即在一个窗口(window)的生命周期内,窗口载入的所有的页面都是共享一个window.name的,每个页面对...window.name都有读写的权限,window.name是持久存在一个窗口载入过的所有页面中的,并不会因新页面的载入而进行重置。..."http://damonare.cn/"; },1000) 进入damonare.cn页面后我们再检测再检测 window.name : window.name; // My window's name...基于这个思想,我们可以在某个页面设置好 window.name 的值,然后跳转到另外一个页面。在这个页面中就可以获取到我们刚刚设置的 window.name 了。...由于安全原因,浏览器始终会保持 window.name 是string 类型。

1.1K30

【前端】【转】JS跨域问题总结

详情见原博客:详解js跨域问题 概念:只要协议、域名、端口有任何一个不同,都被当作是不同的域。...它的第二个限制是浏览器中不同域的框架之间是不能进行js的交互操作的。 不同的frame之间是可以获取window对象的,但却无法获取相应的属性和方法。...(这里必须设置为example.com) 使用window.name来进行跨域 window对象有个name属性,该属性有个特征:即在一个窗口(window)的生命周期内,窗口载入的所有的页面都是共享一个...window.name的,每个页面对window.name都有读写的权限,window.name是持久存在一个窗口载入过的所有页面中的 使用HTML5的window.postMessage方法跨域 window.postMessage

23820

TCTF0CTF2018 XSS bl0g Writeup

这个点可以存在一个任意跳转,通过这个点,我们可以绕过submit的限制(submit的maxlength是前台限制,可以随便跳转 4、站内的特效是通过jqery的append引入的,在article.js...可如果我们尝试插入这个标签后,我们发现插入的effects在接下来的config.js中被覆盖了。...这时候我们回到刚才提到的特性,浏览器有一定的容错能力,我们可以通过插入,那么这个标签会自动闭合后面config.js的,那么中间的代码就会被视为js代码,被CSP拦截。...,紧接着,我们需要想办法获取这里的window.name。...这里用到了一个特殊的特性,就是window.name不跟随域变化而变化,通过window.name我们可以缓存原本的数据。

26410

web跨域解决方案

比如上面的,http://www.a.com/a.js和http://70.32.92.74/b.js。虽然域名和域名的ip对应,不过还是被认为是跨域。...5、使用window.name来进行跨域(相对比较完美的方法)  原理:    当iframe的页面跳到其他地址时,其window.name值保持不变,并且可以支持非常长的 name 值(2MB)。...浏览器跨域iframe禁止互相调用/传值.但是调用iframe时 window.name 却不变,正是利用这个特性来互相传值,当然跨域下是不容许读取ifram的window.name值.        ...由于当iframe的页面跳到其他地址时,其window.name值保持不变,并且此时开关变量 state已经变为1, 于是就可以获取到window.name值,也就达到了跨域访问的目的了...缺点: ie8以前不支持 window.name:   主要是应用当frame的页面跳到其他地址时,其window.name值保持不变的原理。兼容性好。需要照顾落后的浏览器时,首选。

2.7K100

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券