VueJS開発プロジェクトの互換性の問題を詳しく説明する。
私達が開発したプロジェクトは、IE 9+に対応しています。以下の問題は全てこのプロジェクトで発生した問題です。
1.KingEditor、IEで「対象がmoveToElement Text属性または方法をサポートしていない」と提示した
解決策:
私が使っているkingEditorはV 4.1.10バージョンです。
修正kingEditor.jsの5844行:
2.vueコンポーネントの長い文字列をつなぎ合わせる
ieでは長文字列のスプライスに対応していません。文字列を使ってスティッチングする必要があります。
3.axios.jsのpostリクエスト。
chromeの下で
polyfill.jsファイルのダウンロードアドレスを紹介する必要があります。 https://github.com/babel/babel/tree/master/packages/babel-polyfill
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。
1.KingEditor、IEで「対象がmoveToElement Text属性または方法をサポートしていない」と提示した
解決策:
私が使っているkingEditorはV 4.1.10バージョンです。
修正kingEditor.jsの5844行:
if (_IE) {
var rng = cmd.range.get(true);
rng.moveToElementText(div[0]);
rng.select();
rng.execCommand('paste');
e.preventDefault();
}
変更先:
if (_IE) {
var rng = cmd.range.get(true);
try {
rng.moveToElementText(div[0]);
rng.select();
rng.execCommand('paste');
e.preventDefault();
}
catch (e) { }
}
kingEditor.jsを圧縮した後、kingEditor-min.jsを交換すればいいです。2.vueコンポーネントの長い文字列をつなぎ合わせる
ieでは長文字列のスプライスに対応していません。文字列を使ってスティッチングする必要があります。
3.axios.jsのpostリクエスト。
chromeの下で
var newParams = new URLSearchParams();
newParams.append('type',vm.typeNum);
newParams.append('num','20');
newParams.append('curpage',vm.cur);
axios.post(url,newParams).then(function(res){
}).catch(function(){});
ieの下で必要です
axios({
method: 'post',
url: '/f/api/list/news',
data: {
type: vm.typeNum,
num: 4,
curpage: vm.cur
},
transformRequest: [function (data) {
var ret = ''
for (var it in data) {
ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
}
return ret
}],
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
}).then(function (response) {
vm.articel_list = response.data.informations;
vm.all = Math.ceil(response.data.totalnum/4);
},function (responese) {
// console.log(responese);
})
4.IEで「Promise」が定義されていないことを提示するpolyfill.jsファイルのダウンロードアドレスを紹介する必要があります。 https://github.com/babel/babel/tree/master/packages/babel-polyfill
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。