You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
712 B
36 lines
712 B
1 month ago
|
import Elementary
|
||
|
|
||
|
struct ScriptAfterLoad: HTML {
|
||
|
|
||
|
var initial: Bool = false
|
||
|
var js: String = ""
|
||
|
|
||
|
init(initial: Bool = false, js: () -> String) {
|
||
|
self.initial = initial
|
||
|
self.js = js()
|
||
|
}
|
||
|
|
||
|
// -------------------------------------
|
||
|
|
||
|
var content: some HTML {
|
||
|
if initial {
|
||
|
script {
|
||
|
"""
|
||
|
document.addEventListener("DOMContentLoaded", function() {
|
||
|
\(js)
|
||
|
});
|
||
|
"""
|
||
|
}
|
||
|
} else {
|
||
|
script {
|
||
|
"""
|
||
|
web.afterLoad(function () {
|
||
|
\(js)
|
||
|
});
|
||
|
"""
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|