[MIP]mip-script组件自定义 JS 代码使用限制
自mip升级v2版本后,多了一个mip-script组件,很多人就都以为可以写自定义js代码了!然并卵,MIP2页中还是一样不允许自定义javascript代码,所有的交互须通过组件实现。
引用官方说明:在 mip-script
中,只允许进行数据相关的操作,不允许直接操作 DOM 。 因此通过 mip-script
编写的 JS 代码将会运行在沙盒环境(严格模式)中,仅开放部分全局对象供开发者使用,非白名单内的对象的行为将不能正常执行。mip-script 组件中的沙盒会对开发者的JS代码进行全局变量的替换和检测。
白名单列表请参考:严格模式的可用全局变量列表
下面看一组示例
<mip-script> console.log('mip-script executed') console.log(document.cookie) window.location.href = '/' var ele = document.getElementById('test') </mip-script>
以上代码片段运行后,因为 location
的跳转以及 document.getElementById
都已被列为危险行为,相关全局变量或 API 不在白名单列表内,被沙盒禁止执行,因此运行时会报错,或在编译阶段就已经被替换成无效语句,无法正常执行。说白了这个组件也就是废了,个人观点可不认同。
如果要用到异步加载一些内容,可以用mip-bing mip-infinitescroll mip-list等组件进行相关数据处理
那么百度mip不允许自己定义js,官方组件又有限,有一些交互又必须js完成,怎么办呢?可以通过封装成组件再去引用,具体封装组件步骤,详情参考:https://www.cnblogs.com/svip7/p/mipzujiankaifa.html
[MIP]mip-script组件自定义 JS 代码使用限制的更多相关文章
- Vue-cli构建项目, 组件中js代码引入图片路径问题
问题描述 .vue的组件分成三个部分, template结构部分, script路径代码, style页面样式 首先, 我们可以在template可以正确引入, 无论是dev, 还是build都没有问 ...
- script标签加载js代码的一些知识
1.script加载js代码是并行加载,顺序执行的,并且在加载和执行js时会阻塞浏览器渲染引擎, 2.defer和async属性添加过后,js的下载和执行就不会阻塞浏览器的渲染引擎了 3.defer会 ...
- 常用的js代码片段
1.单选框/手风琴 <script> $(document).ready(function(){ $("dd").on("click",functi ...
- JS代码的加载
HTML页面中JS的加载原理:在加载HTML页面的时候,当浏览器遇到内嵌的JS代码时会停止处理页面,先执行JS代码,然后再继续解析和渲染页面.同样的情况也发生在外链的JS文件中,浏览器必须先花时间下载 ...
- 城市连动纯js代码DEMO
前台代码 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" co ...
- javascript基础之javascript的存在形式和js代码块在页面中的存放位置
1.存在形式 文件 如: <script src='js/jc.js'></script> 前页面 <script type='text/javascript'>a ...
- js基础之javascript的存在形式和js代码块在页面中的存放位置和 CSS 对比
1.存在形式 文件 如: <script src='js/jc.js'></script> 前页面 <script type='text/javascript'>a ...
- AngularJS:一行JS代码实现控件验证效果
如上图所示,我们需要实现如下这些验证功能: 控件都是必输控件 都需要控制最大长度 第一次打开页面,控件不能显示为错误状态 输入内容再清空后,必输控件需要显示为错误状态 只有所有输入合法后,发布按钮才能 ...
- MIP组件开发 自定义js组件开发步骤
什么是百度MIP? MIP(Mobile Instant Pages - 移动网页加速器)主要用于移动端页面加速 官网参考:https://www.mipengine.org/doc/00-mip-1 ...
随机推荐
- Highcharts - Bar Chart & Column Chart
1. 条形图(Bar Chart)需要的数据格式类型如下: ["Luke Skywalker", "Darth Vader", "Yoda" ...
- 转:ArcInfo数据格式介绍
ArcInfo常用以下格式的数据:shp.Coverage..Raster CAD和Geodatabase.各种数据的组织形式不一样,其中shp.Coverage.Raster.CAD为文件类型,Ge ...
- C/C++函数指针,指针函数的用法,用处
先看函数指针 int func2(int x); /* 声明一个函数 */ int (*q2) (int x); /* 声明一个函数指针 */ q2=func2; /* 将func函数的首地址 ...
- SQL转Linq工具的使用——Linqer
官方下载网站:http://www.sqltolinq.com/ 本文介绍版本为Linqer 4.5.7 第一步:下载下来,解压,双击安装.exe文件,运行界面如下. 第二步:建立与数据库的连接 点击 ...
- jsencrypt代码分析——openssl的rsa加密解密在js的实现
在js上做rsa,感觉jsencrypt这个是封装的比较好的,但用起来还是遇到了些坑,所以踩进代码里填填坑- 项目在这里 https://github.com/travist/jsencrypt [r ...
- numpy cheat sheet
numpy cheat sheet https://files.cnblogs.com/files/lion-zheng/Numpy_Python_Cheat_Sheet.pdf
- 开发时复制aspx网页的方法
简单的copy /paste *.aspx网页,所使用的是同一个CodeBehind ,这往往不是我们所想要的!!!我们一般都希望使这两个网页具有各自的 *.cs文件.步骤:①新建一个Web ...
- html css:背景图片链接css写法
图片作为背景,并且是链接的写法.例如网站的logo图片.例如:土豆的logo图片 <a title="土豆网 tudou.com 每个人都是生活的导演" href=" ...
- 课堂笔记:HTML---------一般标签、常用标签
HTML:超文本标记语言 HTML标签---成对儿出现的是双标签元素,单个儿出现的是单标签元素 一.通用标签 1.格式控制标签 <font></font> 文字 color-文 ...
- 给自己的网站加上robots.txt
今天给自己的网站加了一个robots.txt,在网上收集整理了一些资料,给自己网站也加上了robots.txt ! 顺便给大家分享一下! 一.robots.txt是什么? robots.txt是一个纯 ...