我的<body>
中有一些内联Javascript,我正在尝试导出到.js文件。我知道通常你只需将它复制/粘贴,有时将其包含在文档就绪函数中,但是关于这个的一些东西是不同的。我不是非常流利的JS,代码不是我写的(但是在网上免费提供)。
这就是代码在我的文件中的方式。如果您需要更多信息,请询问!
<body>
<script>
(function (window, document) {
var menu = document.getElementById('menu')
, WINDOW_CHANGE_EVENT = ('onorientationchange' in window) ? 'orientationchange' : 'resize';
function toggleHorizontal() {
[].forEach.call(document.getElementById('menu').querySelectorAll('.custom-can-transform'), function (el) {
el.classList.toggle('pure-menu-horizontal');
});
};
function toggleMenu() {
// set timeout so that the panel has a chance to roll up
// before the menu switches states
if (menu.classList.contains('open')) {
setTimeout(toggleHorizontal, 500);
}
else {
toggleHorizontal();
}
menu.classList.toggle('open');
document.getElementById('toggle').classList.toggle('x');
};
function closeMenu() {
if (menu.classList.contains('open')) {
toggleMenu();
}
}
document.getElementById('toggle').addEventListener('click', function (e) {
toggleMenu();
e.preventDefault();
});
window.addEventListener(WINDOW_CHANGE_EVENT, closeMenu);
})(this, this.document);
</script>
</body>
更新
我能够将脚本包装在作用域(foo = function() {}
)中,并通过将window.onload = function
添加到HTML页面来使其在外部工作。这是由@marmeladze建议并且工作。
答案 0 :(得分:1)
正如@marmeladze所建议的那样,我能够将脚本包装在一个范围(Private Sub cmd_run_Click()
'process ocr on table
Dim OCRz As New Tesseract("C:\\Users\\aftab\\Downloads\\ocr\\ocr\\tesseract\\tessdata", "eng", OcrEngineMode.OcrEngineMode_TesseractOnly)
MsgBox "processing"
'display results
Me.Requery
End Sub
)中,并通过将foo = function() {}
添加到HTML页面来使其在外部工作。
答案 1 :(得分:0)
那么在外部js文件中导出它真正的问题是什么?
一如既往,我会在新的js中复制和过去代码。将它链接到HTML页面并编写我需要的函数作为HTML标签的属性(例如,在主体的标签中使用“onload = functioname();”)。 正如marmeladze所说,你可以把所有东西都包裹在一个独特的范围内,这样你就可以把它称为体内。
也许你这样做,如果你可以更好地解释你的问题会很棒。