内容区域
/** * FeHelper 代码美化工具 */ new Vue({ el: '#pageContainer', data: { selectedType: 'Javascript', sourceContent: '', resultContent: '', showCopyBtn: false, examples: { js: `function foo(){var x=10;if(x>5){return x*2;}else{return x/2;}}`, css: `.header{position:fixed;top:0;left:0;width:100%;background:#fff;z-index:100;}.header .logo{float:left;margin:10px;}.header .nav{float:right;}`, html: `
内容区域
' + result + '';
this.resultContent = result;
// 代码高亮
this.$nextTick(() => {
Prism.highlightAll();
this.showCopyBtn = true;
this.toast('格式化完成!');
});
};
switch (this.selectedType) {
case 'Javascript':
let opts = {
brace_style: "collapse",
break_chained_methods: false,
indent_char: " ",
indent_scripts: "keep",
indent_size: "4",
keep_array_indentation: true,
preserve_newlines: true,
space_after_anon_function: true,
space_before_conditional: true,
unescape_strings: false,
wrap_line_length: "120",
"max_preserve_newlines": "5",
"jslint_happy": false,
"end_with_newline": false,
"indent_inner_html": false,
"comma_first": false,
"e4x": false
};
beauty(js_beautify(this.sourceContent, opts));
break;
case 'CSS':
css_beautify(this.sourceContent, {}, result => beauty(result));
break;
case 'HTML':
beauty(html_beautify(this.sourceContent,{indent_size:4}));
break;
case 'SQL':
beauty(vkbeautify.sql(this.sourceContent, 4));
break;
default:
beauty(vkbeautify.xml(this.sourceContent));
}
},
copy: function () {
let _copyToClipboard = function (text) {
let input = document.createElement('textarea');
input.style.position = 'fixed';
input.style.opacity = 0;
input.value = text;
document.body.appendChild(input);
input.select();
document.execCommand('Copy');
document.body.removeChild(input);
alert('复制成功,随处粘贴可用!')
};
let txt = this.$refs.jfContentBox.textContent;
_copyToClipboard(txt);
},
/**
* 自动消失的Alert弹窗
* @param content
*/
toast (content) {
window.clearTimeout(window.feHelperAlertMsgTid);
let elAlertMsg = document.querySelector("#fehelper_alertmsg");
if (!elAlertMsg) {
let elWrapper = document.createElement('div');
elWrapper.innerHTML = '' + content + '