一 浏览器重定向Http请求跨域

重定向第一次请求跨域,仍可以发送第二次请求

第二次请求服务器端可正常运行,客户端将无法接受到数据。


如下是遇到此问题时的一些可以观察到的表现:

  1. 浏览器的开发页的network标签页中,http请求无异常,能在preview中看到结果。
  2. 浏览器会在console里报出跨域错误。
  3. 处理跨域请求结果的js因报错而终止执行。

二 html select标签 可以设置属性multipe,变为多选

<select multipe id="s" name="s">
<option value="1">1</option>
<option value="2">2</option>
</select>
s.onchange = function () {
console.log(Array.prototype.map.call(this.options, (item) => {
return return item.value + 'is selected: ' + item.selected
}).join('\n'))
}

三 document.wirte只应在script标签的顶层代码中使用。不能放在函数的定义中,否则原有文档将被清空。

<script>
document.write("写在顶层,这样脚本在解析阶段就会执行!") // ok
document.documentElement.onclick = () => {
document.write('点击了页面,调用write写入新内容,原有内容将被清空')
}
</script>

四 js可以打开一个新窗口,如果符合同源策略要求,可以访问新窗口的window对象。js如果要关闭一个不是通过js打开的窗口,则需要一些特殊的技巧

以下代码展示了如何关闭当前浏览页面:

const closeWebPage = () => {
if (navigator.userAgent.indexOf('MSIE') > 0) {
if (navigator.userAgent.indexOf('MSIE 6.0') > 0) {
window.opener = null
window.close()
} else {
window.open('', '_top')
window.top.close()
}
} else if (navigator.userAgent.indexOf('Firefox') > 0 || navigator.userAgent.indexOf('Chrome') > 0) {
window.location.href = 'about:blank'
window.close()
} else {
window.opener = null
window.open('', '_self')
window.close()
}
}

五 多个窗口(浏览器窗口)和多个iframe窗体之间的原型对象、类都互相独立

父页面:

<body>
<iframe src="./frame.html" frameborder="0" id="frame"></iframe>
</body>
<script>
var p = Object.prototype
var o = Object
</script>

内嵌页面frame:

<body>
frame content
</body>
<script>
var frameP = Object.prototype
console.log(frameP) // {constructor: ƒ, __defineGetter__: ƒ, …}
var parentP = window.parent.p
console.log(parentP) // {constructor: ƒ, __defineGetter__: ƒ, …}
console.log(frameP === parentP) // false var frameO = Object
console.log(frameO) // ƒ Object() { [native code] }
var parentO = window.parent.o
console.log(parentO) // ƒ Object() { [native code] }
console.log(frameO === parentO) // false
</script>

js杂项积累的更多相关文章

  1. JS小积累(二)— 自动获取浏览器尺寸

    JS小积累-获取浏览器窗口尺寸 作者: 狐狸家的鱼 GitHub:八至 autodivheight(); function autodivheight() { //函数:获取尺寸 //获取浏览器窗口高 ...

  2. JS小积累(一)— 判断在线离线

    JS小积累-判断在线离线 作者: 狐狸家的鱼 Github: 八至 if(window.navigator.onLine==true){ console.log('online'); ... } el ...

  3. AngularJS.js: 杂项

    ylbtech-AngularJS.js: 杂项 AngularJS诞生于2009年,由Misko Hevery 等人创建,后为Google所收购.是一款优秀的前端JS框架,已经被用于Google的多 ...

  4. js杂项

    css是 下划线命名法:table_sub ;javascript ,net ,sql 全部是camel命名法 找临界点 1.elem.checked 有两个值,true,false . 页面中< ...

  5. 微信中一些常用的js事件积累

    1.网页图片集左右滑动查看图片,如下样例: jjs效果 var pictures = []; angular.forEach(pitctures,function(k,i){         pict ...

  6. js日常积累

    1.数组转字符串 str.join(',') 2.字符串转数组 arr.split(',') 3.数组排序 function sorb(a,b){return a-b;}; arr.sort(sorb ...

  7. 在线引用js资源积累

    [jQuery]https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js[Vue]https://cdnjs.cloudfla ...

  8. 常用js代码积累

    1,js判断进入可视区,参考(亲测不行):https://www.cnblogs.com/Marydon20170307/p/8830069.html 重点学习的话,可参考: js计算元素距离顶部的高 ...

  9. 转载:使用jquery刷新当前页面以及其他js知识积累

    转载:https://www.cnblogs.com/heguihui/p/10505949.html 如何使用jquery刷新当前页面 下面介绍全页面刷新方法:有时候可能会用到 window.loc ...

随机推荐

  1. Go defer使用

    defer使用语法 //defer后面必须是函数调用语句或方法调用语句,不能是其他语句,否则编译器会出错. package main import ( "fmt" ) func f ...

  2. Laravel + Vue + Element 考勤应用 - 人力资源系统

    项目地址 Bee 介绍 Bee 是人力资源系统中的考勤应用,主要功能用于员工申请假单.Bee具有较高的性能.扩展性等,其中包括前后端分离.插拔式的规则验证(验证器).数据过滤(装饰器).消息队列等,后 ...

  3. css3 preserve-3d 的理解 注意IOS上的兼容

    css3 preserve-3d 的理解 <pre><!DOCTYPE html><html lang="en"> <head> & ...

  4. python基础-匿名函数和内置函数

    匿名函数和内置函数 匿名函数:没有名字,使用一次即被收回,加括号就可以运行的函数. 语法:lambda 参数:返回值 使用方式: 将匿名函数赋值给变量,给匿名函数一个名字,使用这个变量来调用(还不如用 ...

  5. Genymotion模拟器安装搜狗输入法

    Genymotion模拟器默认没有中文输入法,如果在一些调试中涉及到需要输入中文则必须需要安装中文输入法. 这里以搜狗输入法为例. 这里需要注意一下几点就行: 百度下载一个搜狗输入法,需要特别注意的是 ...

  6. Kickstart Round H 2019 Problem B. Diagonal Puzzle

    有史以来打得最差的一次kickstart竟然发生在winter camp出结果前的最后一次ks = = 感觉自己的winter camp要凉了 究其原因,无非自己太眼高手低,好好做B, C的小数据,也 ...

  7. [javascript] 编写一个计算器,实现加减法

    1.代码 <script> function sum(){ //加法 var value1 = document.getElementById("num1").valu ...

  8. ArcGIS API For Javascript :如何解决跨网不能正常获取依赖项的问题?

    一.前言 政企项目通常会在自组网以及保密网运行,有些单位甚至会有两个物理隔绝的网络存在.通常情况下我们会在两个网络中部署相同的地图服务和依赖项.但是也有其中一个网络密级很高没有服务器资源,不能单独部署 ...

  9. 前端的构建化工具Webpack

    经常看到如jquery-3.0.0.js和jquery-3.0.0-min.js等两相似的文件名. 其实以上两个文件名的内容是一样的,不过带min代表的是占用最小的空间,为项目提高性能.压缩的部分如换 ...

  10. 扛把子组20191031-2 Beta阶段贡献分配规则

    此作业的要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/9910 队名:扛把子 组长:孙晓宇 组员:宋晓丽 梁梦瑶 韩昊 刘信鹏 B ...