Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit f0a9d4c

Browse files
Merge pull request #3 from eerikson/AllowArbitraryPropsOnScriptEl
Assign attrs to created script element
2 parents 518c0d2 + 2556a05 commit f0a9d4c

File tree

5 files changed

+2033
-2
lines changed

5 files changed

+2033
-2
lines changed

‎README.md‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,16 @@ loadScript('https://example.com/script.js')
2525
})
2626
```
2727

28+
**Additional attributes**
29+
30+
```js
31+
var loadScript = require('tiny-script-loader/loadScript')
32+
var loadScriptPromised = require('tiny-script-loader/loadScriptPromised')
33+
34+
loadScript('https://example.com/script.js', callbackFn, { crossOrigin: true })
35+
loadScriptPromised('https://example.com/script.js', { type: 'javascript' })
36+
.then(fn)
37+
```
2838
## License
2939

3040
[Apache-2.0](/LICENSE)

‎loadScript.js‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
1-
module.exports = function loadScript (src, cb) {
1+
module.exports = function loadScript (src, cb,attrs) {
22
var doc = document
33
var tag = 'script'
44
var firstScript
55
var el
66
el = doc.createElement(tag)
77
firstScript = doc.getElementsByTagName(tag)[0]
8+
if (attrs) {
9+
Object.keys(attrs).forEach(function (key) {
10+
el[key] = attrs[key]
11+
})
12+
}
813
el.async = 1
914
el.src = src
1015
el.onload = function () { cb() }

‎loadScriptPromised.js‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
1-
module.exports = function loadScriptPromised (src) {
1+
module.exports = function loadScriptPromised (src,attrs) {
22
var doc = document
33
var tag = 'script'
44
var firstScript
55
var el
66
return new Promise(function (resolve, reject) {
77
el = doc.createElement(tag)
88
firstScript = doc.getElementsByTagName(tag)[0]
9+
if (attrs) {
10+
Object.keys(attrs).forEach(function (key) {
11+
el[key] = attrs[key]
12+
})
13+
}
914
el.async = 1
1015
el.src = src
1116
el.onload = function () { resolve() }

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /