gpt4 book ai didi

javascript - 为什么我的外部 javascript 方法说它未定义?

转载 作者:行者123 更新时间:2023-12-02 15:19:26 28 4
gpt4 key购买 nike

我有这个外部方法,可以根据有效的屏幕尺寸加载正确的 CSS 文件。当我添加更多文件夹/页面时,我意识到我需要在调用它时指定有多少文件夹深度,以便它可以找到 CSS 文件。它适用于一个文件夹深的页面,其中只有 1 行文本以确保其已加载。当我尝试加载包含图片和内容的索引页面时,它会加载除 CSS 文件之外的所有内容,其中显示“ReferenceError:Start is not Defined”。为什么没有定义?请将所有解决方案严格保留在 JavaScript 上,我不想在这个项目中使用 jQuery。

这是 head 标签中的 HTML

<script src="../Scripts/Load_CSS_Template.js"></script>
<script>Start(0);</script>

这是外部 JavaScript

function Start(Folders_Deep)
{

if (Folders_Deep == "undefined")
{
console.log("I was not defined");
}
else
{
var Prefix = "";

if(Folders_Deep == 1)
{
Prefix = "../";
}

console.log("Browser Screen Width: " + window.innerWidth);
console.log("Hostname: " + window.location.hostname);
console.log("Folders_Deep: " + Folders_Deep);
console.log("Prefix: " + Prefix);

if (window.innerWidth <= '1400')
{
Get_CSS_File(Prefix + 'Mobile_Template.css');
}
else
{
Get_CSS_File(Prefix + 'Desktop_Template.css');
}
}
}

最佳答案

如果您的 CSS 文件始终位于根目录中,并且 JavaScript 始终位于目录 /Scripts 中,则不需要任何前缀,只需使用完整路径 /Scripts/Load_CSS_Template .js/Mobile_Template.css/Desktop_Template.css。否则,请使用 window.location 找出您所在的位置并采取相应的行动。

function Start(Folders_Deep) {
var Prefix = "";

if (undefined === Folders_Deep) {
console.log("I was not defined");
} else {
if (Folders_Deep == 1) {
Prefix = "../";
} else if (Folders_Deep == 0) {
Prefix = "./";
}

console.log("Browser Screen Width: " + window.innerWidth);
console.log("Hostname: " + window.location.href);
console.log("Folders_Deep: " + Folders_Deep);
console.log("Prefix: " + Prefix);

if (window.innerWidth <= '1400') {
Get_CSS_File(Prefix + 'Mobile_Template.css');
} else {
Get_CSS_File(Prefix + 'Desktop_Template.css');
}
}
}

关于javascript - 为什么我的外部 javascript 方法说它未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34190076/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com