IE8-模拟script onerror】的更多相关文章

利用VBScript 检测,有副作用,慎用! var loadScript = function () { var DOC = document, HEAD = document.getElementsByTagName('head')[0]; // 往head注入一个script var injectScript = function(src, beforeInject){ var script = document.createElement('script'); beforeInject.…
使用视频播放器的时候,常常会让兼容一些浏览器问题,比如兼容ie8浏览器.在工作中使用的是video.js. 如果需要兼容,引入两个js库,就可以做到兼容ie8浏览器 <script src="http://vjs.zencdn.net/ie8/1.1.2/videojs-ie8.min.js"></script> <script src="http://api.html5media.info/1.1.4/html5media.min.js&quo…
js 获取控制台的错误信息 https://www.bbsmax.com/A/Vx5ML2NmJN/ <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <input type="button"…
继上篇文章介绍了Webpack的基本概念,完整流程,以及打包过程中广播的一些事件的作用,这篇文章主要讲生成的chunk文件如何输出成具体的文件.分同步和异步两种情况来分析输出的文件使用的webpack版本:3.8.0. 模块文件show.js function show(content) { window.document.getElementById('app').innerText = 'Hello,' + content; } // 通过 CommonJS 规范导出 show 函数 mod…
  1.jsonp方法 转:https://blog.csdn.net/liusaint1992/article/details/50959571 主要实现功能: 1.参数拼装. 2.给每个回调函数唯一命名. 3.在回调成功或请求失败之后删除创建的javascript标签. 需要兼容IE.IE下onerror事件不兼容.这里有对它的模拟实现.在IE下加载失败也能get到. 4.超时功能.超时取消回调.执行error. 5.error事件.可执行自己传入的error事件. 代码封装,调用,以及后台…
Webpack版本 分析版本为3.6.0 4.0为最近升级的版本,与之前版本变化较大,编译输出的文件与3.0版本会不一致,目前项目中使用的版本3.0版本,所以基于3.0版本进行分析学习. Webpack构建流程 初始化:启动构建,读取与合并配置参数,加载Plugin,实例化Complier 编译:从Entry发出,针对每个Module串行调用对应的Loader去转换文件内容,再找到该Module依赖的Module,递归进行编译处理. 输出:对编译后对Module组合成Chunk,把Chunk转换…
jsonp是跨域请求的手段之一. jsonp的原理: 先来看看下面这段代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> </head> <script> function fn(response){ alert(response); } </script> <body> </body&…
1.$(document).ready 点评: 需要引用jquery :兼容所有浏览器. 2.标签的async=”async”属性 async的定义和用法(是HTML5的属性) async 属性规定一旦脚本可用,则会异步执行. 点评:HTML5中新增的属性,Chrome.FF.IE9&IE9+均支持(IE6~8不支持).此外,这种方法不能保证脚本按顺序执行. async 属性仅适用于外部脚本(只有在使用 src 属性时). 3.defer属性 <script type="text/…
概述 什么是域,简单来说就是协议+域名或地址+端口,3者只要有任何一个不同就表示不在同一个域.跨域,就是在一个域中访问另一个域的数据. 如果只是加载另一个域的内容,而不需要访问其中的数据的话,跨域是很简单的,比如使用iframe.但如果需要从另一个域加载并使用这些数据的话,就会比较麻烦.为了安全性,浏览器对这种情况有着严格的限制,需要在客户端和服务端同时做一些设置才能实现跨域请求. JSONP简介 JSONP(JSON with Padding)是一种常用的跨域手段,但只支持JS脚本和JSON格…
最近想在项目上引入一个富文本编辑器,之前引入过summernote,感觉并不太适合vue使用, 然后在网上查了查,vue中使用Tinymce比较适合, 首先,我们在vue项目的components文件夹中加入如下几个文件 首先看一下Tinymce/dynamicLoadScript.js的内容: let callbacks = [] function loadedTinymce() { // to fixed https://github.com/PanJiaChen/vue-element-a…
分类 反射型 存储型 DOM型 XSF(Flash XSS) PDFXSS MHTML协议跨站(MHTML,data) 字符编码(UTF-7 XSS) 富文本编辑器测试 - 输入框 <img SRC=" /> #style过滤不足 IE6环境 <img src= alt="hello,xss"onerror=alert(1);//"> #发表日志处 反射型(1)<script>alert(1)</script> (2)%%3E%…
一.main.js import Vue from 'vue' import App from './App' import router from './router' import Vuex from 'vuex' import store from './store' import axios from 'axios' import VueAwesomeSwiper from 'vue-awesome-swiper' import 'swiper/dist/css/swiper.css'…
JavaScript JSON 与 AJAX JSON 是一种轻量的数据交互格式,与 AJAX 配合完成前端页面与服务端的信息传递,本文介绍 JSON 的使用.原生 AJAX 写法.JSONP 跨域解决方法以及 AJAX 和 JSONP 工具函数的封装 JSON 的概念 所有编程语言都离不开的三大数据结构 scalar 标量:数字和字符串 sequence 序列:数组和列表 mapping 映射:键值对 JSON:JavaScript Object Notation,轻量级的数据交互格式 JSO…
Axios 是一个非常优秀的基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中.并且提供了很多便捷的功能,例如: 支持 Promise API 拦截请求和响应 转换请求数据和响应数据 取消请求 自动转换 JSON 数据 客户端支持防御 XSRF 但如果我们想基于 axios 扩展一些自己的数据请求方式(例如 mock 数据,某些 APP 内专属的数据请求方式等),并能够使用上 axios 提供的便捷功能,该怎么自定义一个适配器 adapter: 1. 适配器要实现的功能…
很久没有更新博客了,毕业2个月了,这段时间一直在忙于工作,一直没有时间更新,最近做的活动突然发现之前的经验居然忘记了...索性想想还是重新开始用博客记录平日里的工作经验吧,吐槽就到这里了,这篇记录的是我在平日里经常用到的请求后端的方式. 大多数情况下,无论是框架还是自己实现都是通过Ajax的方式来向后端请求数据的,而Ajax之间是通过传输json格式的文件来进行数据的传输的,大家对Ajax也很熟悉了,那么为什么我又要使用jsonp呢?这就要从什么是jsonp,什么是json来说一说了. json…
*什么是BOM -->BOM (Browser Object Model) 浏览器对象模型-->BOM提供了独立于内容而与浏览器窗口进行交互的对象-->BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是window-->BOM缺乏标准,JavaScript语法的标准化组织是ECMA,DOM的标准化组织是W3C, BOM最初是Netscape浏览器标准的一部分 *BOM主要内容 -->window对象 是浏览器中的Global对象-->窗口设置 (打开.大小.位置)…
通过本文,你可以对模块化开发和AMD规范有一个较直观的认识,并详细地学习RequireJS这个模块化开发工具的常见用法.本文采取循序渐进的方式,从理论到实践,从RequireJS官方API文档中,总结出在使用RequireJS过程中最常用的一些用法,并对文档中不够清晰具体的内容,加以例证和分析,希望本文的内容对你的能力提升有实质性的帮助. 1. 模块化 相信每个前端开发人员在刚开始接触js编程时,都写过类似下面这样风格的代码: <script type="text/javascript&q…
1.ajax的baseHeaders ajax插件中的baseHeaders对象的是http请求头部的信息 var mime = settings.accepts[dataType], baseHeaders = { }, protocol = /^([\w-]+:)\/\//.test(settings.url) ? RegExp.$1 : window.location.protocol, xhr = $.ajaxSettings.xhr(), abortTimeout if (!setti…
适合移动端调试的时候优化的报错使用.缺点是无法打印出多条记录,有方法的同学留言告诉我. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <input type="button" value=&…
http://www.runoob.com/w3cnote/zepto-js-source-analysis.html Zepto是一个轻量级的针对现代高级浏览器的JavaScript库, 它与jquery有着类似的api. 如果你会用jquery,那么你也会用zepto. Zepto 中文手册:http://www.w3cschool.cc/manual/zeptojs.html /* Zepto v1.0-1-ga3cab6c - polyfill zepto detect event aj…
/* Zepto v1.0-1-ga3cab6c - polyfill zepto detect event ajax form fx - zeptojs.com/license */ ;(function(undefined) { if (String.prototype.trim === undefined) // fix for iOS 3.2 String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''…
IE6已经死亡,当然7,8,9,10也挂掉了.微软对IE11更下了狠手,对其停止了更新.以为前端就可以安安心心地写代码了.可是就是有些顽固分子,竟然用的还是IE6,尊崇客户至上的原则,就恶心着给他兼容老古董. IE条件注释,微软官方推荐的hack方式 <!--[if IE]>这段文字只在IE浏览器上显示<![endif]--> <!--[if IE 6]>这段文字只在IE6浏览器上显示<![endif]--> <!--[if gt IE 6]>这…
/* Zepto v1.0-1-ga3cab6c - polyfill zepto detect event ajax form fx - zeptojs.com/license */ ;(function(undefined) { if (String.prototype.trim === undefined) // fix for iOS 3.2 String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''…
可以找到许多的解读,但是原文总是最重要的,也是最正宗的说明,直接访问 RequireJS 有时不太方便,这里将 RequireJS 2.0 API 的原文转载到博客园,方便查看. This is the RequireJS 2.0 API. If you want 1.0: Link to 1.0. Usage §§ 1-1.3 Load JavaScript Files§ 1.1 data-main Entry Point§ 1.2 Define a Module§ 1.3 Simple Na…
如果分别用IE5.IE6.IE7浏览同一个网页,将可能出现不一样的效果.这是它们之间对CSS的解析选择器不一样或错误和个别bug所导致.为了解决这些错误和bug.我们不得不找到一个能平衡于它们之间的解决方法.如png透明问题在IE5.IE6下无法显示出其效果,我们可能会使用CSS hack或者引入外部JavaScript来实现.譬如前面我提到过用pngfix的那个方法就是调用外部JavaScript来解决在IE5.IE6下png透明问题.当然还有更多的方法.而现在有种更加完美的方法能兼容IE5.…
一.原生js: /** * 加载js和css文件 * @param jsonData.path 前缀路径 * @param jsonData.url 需要加载的js路径或css路径 * @param jsonData.type 需要加载的类型 js或css */ function loadWriteFiles(jsonData) { jsonData.path = jsonData.path != undefined ? jsonData.path : ""; if(jsonData.…
原文:http://blog.csdn.net/pigpigpig4587/article/details/23427573 目录 RequireJS 加载javascript文件 定义模块 简单的值对 函数式定义 存在依赖的函数式定义 将模块定义为一个函数 简单包装CommonJS来定义模块 定义一个命名模块 其他注意事项 循环依赖 JSONP服务依赖 undefine一个模块 机理 配置项 进阶应用 从包中加载模块 多版本支持 在页面加载之后加载代码 对Web Worker的支持 对Rhin…
1. 模块化 目前常见的模块化开发方式,全局空间方式是最基本的一种,另外常见的还有遵循AMD规范的开发方式,遵循CMD规范的开发方式,和ECMAScript 6的开发方式.需要说明的是,CMD和ES6跟本文的核心没有关系,所以不会在此介绍,后面的内容主要介绍AMD以及实现了AMD规范的RequireJS. 2.AMD规范 正如上文提到,实现模块化开发的方式,另外常见的一种就是遵循AMD规范的实现方式,不过AMD规范并不是具体的实现方式,而仅仅是模块化开发的一种解决方案,你可以把它理解成模块化开发…
RequireJS的目标是鼓励代码的模块化,它使用了不同于传统<script>标签的脚本加载步骤.可以用它来加速.优化代码,但其主要目的还是为了代码的模块化.它鼓励在使用脚本时以module ID替代URL地址.~~~模块化的代码,更清晰和易于维护 § 1.1加载JavaScript文件RequireJS以一个相对于baseUrl的地址来加载所有的代码.<script data-main="js/main" src="scripts/require.js&q…
/* Zepto v1.0-1-ga3cab6c - polyfill zepto detect event ajax form fx - zeptojs.com/license */ ;(function(undefined) { if (String.prototype.trim === undefined) // fix for iOS 3.2 String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''…