浏览模式: 标准 | 列表分类:Javascript
Submitted by gouki on 2019, April 7, 11:29 PM
为了该死的IE,可能会需要这样
1、如果你的代码里用到了ES6的语法,比如:const a = 1;或者 a(){}等,记得 加载 browser.min.js ,如果还要支持 promise,那就加载browser-polyfill.min.js,下载地址:https://cdn.jsdelivr.net/npm/browser-polyfill@3.20.2/index.min.js,或者先npm install babel-core@7,然后复制其中的browser.min.js到你的项目里。如果文件中不含polyfill,还得 单独去下载一下
2、如果页面中引用了一些第三方的jQuery组件,记得加载1.x的版本。因为 从2开始不支持IE8了。如果IE9以下,那是无所谓
有些东西,还是需要记录一下。都是坑啊。。。然而直到IE11,都对ES6支持不好。所以。browser.js还是跑不 掉
Javascript | 评论:1
| 阅读:13006
Submitted by gouki on 2019, April 1, 1:30 PM
几个小问题记录一下
1、如果IE11打不开F12控制面板,可能是因为你是从win7的IE8升上来的,如果是这样,下载这个更新包:
2、在IE11下面你会发现VUE居然不解析,报错内容是说:mount(){ 这一行缺少;,这个在官方论坛里介绍,IE11不认这种语法简写,还是乖乖的用mount:function(){}这种写法吧。同理。如果你的函数在methods中也是 a(){},b(){}这样写的。乘早换成a:function(){},b:function(){}吧
记录一下,不然的话,虽然 说VUE支持IE9+,但你在IE11下也不正常。。。
即使微软说未来EDGE要换chrome的核心,但老机器 怎么办啊!!XP最高只支持IE8好象。希望我都是接一些高端点的活(如果钱给够,IE8我也可以吐血支持)
Tags: vue, ie
Javascript | 评论:0
| 阅读:11882
Submitted by akuma on 2019, February 16, 9:24 PM
尝试整个vue+tinymce的时候遇到点问题(之前说过,本来是用quillJS的。但如果要发表的内容支持那些微信编辑器里复制过来的内容。quill自己定义过的一些虚拟DOM就不支持了)
希望是美好的,实现起来是麻烦的,最后我放弃所有的选项,改用弹框iframe的形式。然而,问题就这么来了,tinymce5的dialog居然不支持iframe了。比如你看这个:https://github.com/tinymce/tinymce/issues/4786,官方直接说不支持了。NND
不过有人提示说,可以利用htmlpanel,直接在htmlpanel的html标签里,用<iframe。。。然后我试了一下。。居然真的OK
好吧,直接参考 这个了!https://github.com/tinymce/tinymce/issues/4786#issuecomment-463827289
JS文件:
JavaScript代码
- function FileManager(callback, value, meta) {
- var windowManagerURL = "/FilManage";
-
- var windowManagerCSS = '<style type="text/css">' +
- '.tox-dialog {max-width: 100%!important; width:97.5%!important; overflow: hidden; height:95%!important; border-radius:0.25em;}' +
- '.tox-dialog__header{ display:none!important; }' +
- '.tox-dialog__footer { display: none!important; }' +
- '.tox-dialog__body { padding: 0!important; }' +
- '.tox-dialog__body-content > div { height: 100%; overflow:hidden}' +
- '</style > ';
- window.tinymceCallBackURL = '';
- window.tinymceWindowManager = tinymce.activeEditor.windowManager;
- tinymceWindowManager.open({
- title: '',
- body: {
- type: 'panel',
- items: [{
- type: 'htmlpanel',
- html: windowManagerCSS+ '<iframe src="' + windowManagerURL + '" frameborder="0" style="width:100%; height:100%"></iframe>'
- }]
- },
- buttons: [] ,
- onClose: function () {
- if (tinymceCallBackURL!='')
- callback(tinymceCallBackURL, {});
- }
-
- } );
- }
iframe中:
JavaScript代码
- var windowManager = top != undefined && top.tinymceWindowManager != undefined ? top.tinymceWindowManager : '';
-
-
- if (windowManager != '') {
- if (top.tinymceCallBackURL != undefined)
- top.tinymceCallBackURL = path;
- windowManager.close();
- }
Tags: tinymce
Javascript | 评论:0
| 阅读:16359
Submitted by gouki on 2018, December 13, 12:35 PM
基于昨天写的vue+blade+(vue-pjax-adapter),发现没有任何进度提示,感觉比较不直观,但vue-pjax-adapter不能注入方法(或许是我不会)。
在app.js里引入了nprogress后。在axios请求前尝试注入,比如:
JavaScript代码
- window.axios.interceptors.request.use((config) => {
- console.log(before);
- NProgress.configure({easing: 'ease', speed: 1000, showSpinner: true});
- NProgress.start();
- return config;
- });
- window.axios.interceptors.response.use((response) => {
- NProgress.done();
- console.log(after);
- return response;
- }, (error) => {
- return Promise.reject(error);
- });
但是没有看到有任何需求。才尝试修改了一下vue-pjax-adapter插件
用法和vue-pjax-adapter完全一样:
XML/HTML代码
- import nPjaxAdapter from 'vue-nprogress-pjax';
- window.Vue.use(nPjaxAdapter);
- /**
- * 如果不是标准的pjax-container,就是这样使用
- * // window.Vue.use(nPjaxAdapter, {
- // targetSelector: '#my-custom-target',
- // });
- */
就这样简单。现在切换页面有进度条了
代码在这里:https://www.npmjs.com/package/vue-nprogress-pjax
Javascript | 评论:0
| 阅读:11115
Submitted by gouki on 2018, January 3, 11:18 PM
放到javascript里为实在是意外 。主要是这应该是属于前端的事情。
起因是这样的,一个checkbox,在没有选中前提交。POST过来的数据中。连checkbox对应的name的KEY,在$_POST中就不存在。这个就尴尬了。因为正常操作是form.submit(),或者是用$.post('xxx',$('#form').serializeArray())。这两种情况下,未选中的checkbox直接就消失在$_POST中了
表单的KEY比较多,将近20个(有点夸张,但是是事实)。如果一个个的写 var xxx = $('xxx:checked').val()||0; 这样也好痛苦的说~~
网上找了一下,看到这个:https://stackoverflow.com/questions/1809494/post-the-checkboxes-that-are-unchecked,
投票最高的居然是:
XML/HTML代码
- <form>
- <input type='hidden' value='0' name='selfdestruct'>
- <input type='checkbox' value='1' name='selfdestruct'>
- </form>
原理就是,如果selfdestruct有值,默认下面有值的会覆盖上面的。因为一个FORM里同名的key只能有一个。如果selfdestruct没有选中,那么就会用hidden里的值!
Javascript | 评论:0
| 阅读:12638