在 Javascript 中函数调用的正确脚本位置

Proper script placement for function call in Javascript

本文关键字:脚本 位置 Javascript 函数调用      更新时间:2023-09-26

我有一个名为getQuery的JS函数,我从HTML中调用它,但由于某种原因浏览器找不到脚本。我试过把它放在<head><body>,但似乎不想工作。

有人可以告诉我此网页的脚本的正确位置,或者脚本需要如何加载吗?

这就是我调用函数的方式:

<iframe scrolling="auto" noresize name="mainFrame" target="_top" id="reg-frame"
        src="javascript:getQuery('registrationPage')"></iframe>

错误:Uncaught ReferenceError: getQuery is not defined

从 HTML 中删除 src 属性:

<iframe scrolling="auto" noresize name="mainFrame" target="_top" id="reg-frame"></iframe>

然后,您可以在以下任何时间定义函数:

function getQuery(url) {
    return url; // Maybe do some parsing here?
}

然后分配帧的源:

var frame = document.getElementById("mainFrame");
frame.src = getQuery('registrationPage');

你可以在这里的小提琴上做实验。

你试过这个吗?

<iframe scrolling="auto" noresize name="mainFrame" target="_top" id="reg-frame"
onload="this.src=getQuery('registrationPage');" 
src="">
</iframe>

这行得通吗?

<iframe scrolling="auto" noresize name="mainFrame" target="_top" id="reg-frame">
    <script src="javascript:getQuery('registrationPage')"></script>
</iframe>