add external-script plugin
This commit is contained in:
parent
723a6040f2
commit
1aa6636ba8
6 changed files with 72 additions and 1 deletions
30
lib/plugins/external-script.js
Normal file
30
lib/plugins/external-script.js
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
this.D = this.D || {};
|
||||
(function () {
|
||||
'use strict';
|
||||
|
||||
var scriptReg = /<script[^>]*src=["|'](.*)["|']>[^\w]*<\/script>/;
|
||||
var asyncReg = /<script[^>]*\s+async/;
|
||||
var deferReg = /<script[^>]*\s+defer/;
|
||||
|
||||
function handleExternalScript (html) {
|
||||
var scriptMatch = html.match(scriptReg);
|
||||
|
||||
if (scriptMatch && scriptMatch.length > 1) {
|
||||
var script = document.createElement('script');
|
||||
script.src = scriptMatch[1];
|
||||
|
||||
if (asyncReg.test(scriptMatch[0])) { script.setAttribute('async', ''); }
|
||||
if (deferReg.test(scriptMatch[0])) { script.setAttribute('defer', ''); }
|
||||
|
||||
var target = document.querySelector('#main');
|
||||
target.appendChild(script);
|
||||
}
|
||||
}
|
||||
|
||||
var install = function (hook) {
|
||||
hook.afterEach(handleExternalScript);
|
||||
};
|
||||
|
||||
window.$docsify.plugins = [].concat(install, window.$docsify.plugins);
|
||||
|
||||
}());
|
||||
Loading…
Add table
Add a link
Reference in a new issue