tools-for-js
Version:
基于babel构建的JavaScript前端工具库
65 lines (63 loc) • 1.79 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.copyText = copyText;
exports.createScript = void 0;
/*******
* @description: 创建script标签加载js
* @author: 琴时
* @param {String} url
* @return {*}
*/
var createScript = exports.createScript = function createScript() {
var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
if (typeof window === 'undefined') return;
var scriptTags = window.document.querySelectorAll('script');
var len = scriptTags.length;
var i = 0;
// 截取字符串,去掉可能url是相对路径的
url = url.indexOf('.') === 0 ? url.substr(1) : url;
var _url = location.origin + url;
return new Promise(function (resolve, reject) {
var isHas = false;
for (i = 0; i < len; i++) {
var src = scriptTags[i].src;
if (src && src === _url) {
isHas = true;
resolve();
}
}
if (!isHas) {
var node = document.createElement('script');
node.type = 'text/javascript';
node.src = url;
node.onload = resolve;
document.body.appendChild(node);
}
});
};
/*******
* @description: 复制文本
* @author: 琴时
* @param {String} text
* @return {*}
*/
function copyText(text) {
if (typeof window === 'undefined') return;
if (navigator.clipboard) {
exports.copyText = copyText = function copyText(text) {
navigator.clipboard.writeText(text);
};
} else {
exports.copyText = copyText = function copyText(text) {
var input = document.createElement('input');
input.setAttribute('value', text);
document.body.appendChild(input);
input.select();
document.execCommand('copy');
document.body.removeChild(input);
};
}
copyText(text);
}
;