相关疑难解决方法(0)

延迟加载 JavaScript - Uncaught ReferenceError: $ is not defined

我使用谷歌代码来推迟加载 javascript(谷歌页面

但我有一些内联 javascript,例如:

<script type="text/javascript">
$(function () {
    alert("please work");
});
</script>
Run Code Online (Sandbox Code Playgroud)

这给了我:

未捕获的 ReferenceError: $ 未定义

我想我需要一些函数,它是在加载 jQuery 并初始化我的内联 javascripts 之后触发的。但如果有另一种方式,我会很高兴。

编辑:

你们中的一些人完全没有话题。Mahesh Sapkal 很接近。

使用此代码我没有错误,但仍然无法正常工作

<head>
    <script type="text/javascript">
        var MhInit = NULL;

        // Add a script element as a child of the body
        function downloadJSAtOnload() {
            var element = document.createElement("script");
            MhInit = element.src = "my_packed_scripts.js";
            document.body.appendChild(element);
        }

        // Check for browser support of event handling capability
         if (window.addEventListener)
            window.addEventListener("load", downloadJSAtOnload, false);
         else if (window.attachEvent)
             window.attachEvent("onload", …
Run Code Online (Sandbox Code Playgroud)

javascript jquery deferred-loading asynchronous-javascript

3
推荐指数
1
解决办法
1万
查看次数

当 HTML 正文末尾引用外部 JavaScript 文件时,如何调用 JavaScript 函数?

我知道,当您想在 HTML body 部分中调用 JavaScript 函数时,您可以通过放入 body 标记中来实现<script> someFunction(); </script>,这是一个示例,我有这样的 HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
<script type="text/javascript"
    src="/Script.js"></script>
</head>

<body>
    <script>
        showAlert();
    </script>
</body>

</html>
Run Code Online (Sandbox Code Playgroud)

javascript 文件如下:

function showAlert(){
    alert("This is an alert!");
}
Run Code Online (Sandbox Code Playgroud)

这工作正常,但如果我将 JavaScript 文件引用放在正文的末尾,如下所示:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
</head>

<body>
    <script>
        showAlert();
    </script>
    <script type="text/javascript"
        src="/Script.js"></script>
</body>

</html>
Run Code Online (Sandbox Code Playgroud)

该函数showAlert()不再被调用。您能回答以下2个问题吗:

  1. 为什么showAlert()在第二种情况下没有被调用?
  2. 当在正文末尾引用函数时,如何(如果可能)从 JavaScript 文件调用该函数?

我之所以问这个问题,是因为我知道在正文末尾而不是头部引用 JavaScript 文件是一个很好的做法,这样页面将在加载所有 JavaScript 代码之前首先呈现。

html javascript

3
推荐指数
1
解决办法
1万
查看次数

JavaScript-当我的脚本在头部时不能改变样式

我试图让我的JavaScript在工作的时候插入脚本插入headbody元素.

这是我的例子:


首先,我将其插入到body这个例子(工作):

    <html>
    <body>
    
    <p id="p2">Hello World!</p>
    
    <script>
    document.getElementById("p2").style.color = "blue";
    </script>
    
    <p>The paragraph above was changed by a script.</p>
    
    </body>
    </html>
Run Code Online (Sandbox Code Playgroud)


当我移动scriptbody(也工作)的结束时:

<html>
<body>

<p id="p2">Hello World!</p>

<p>The paragraph above was changed by a script.</p>

<script>
document.getElementById("p2").style.color = "blue";
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)


但当我把它移动到head停止工作时:

	<html>
	<head>
		<script>
		document.getElementById("p2").style.color = "blue";
		</script>
	</head>
	<body>

	<p id="p2">Hello World!</p>

	<p>The paragraph above …
Run Code Online (Sandbox Code Playgroud)

html javascript css

3
推荐指数
1
解决办法
398
查看次数

JavaScript/CSS应该放在HTML页面的底部吗?

我正在使用jQuery Mobile,现在,我的<head>标签底部有以下内容:

<head>
<meta charset="UTF-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1">
<title>help</title>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css">
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
</head>
Run Code Online (Sandbox Code Playgroud)

由于用户可能有非常糟糕的网络访问,我希望用户可以更快地加载我的页面,即使JavaScript或CSS还没有准备好.

如果我:它会工作吗

  1. <head><body>

  2. 放在<script>最后<body>

html javascript css jquery jquery-mobile

2
推荐指数
1
解决办法
4980
查看次数

最后执行Javascript

我想在加载HTML时在最后执行一个函数.我尝试了onload没有成功.我也尝试过,ready但它仍然无法正常工作.这是我的代码.这再次放在标题中:

<script type="text/javascript"> 
     $(document).ready(function() { 
     $('#infowindow_content').html('test');
     });
</script>
Run Code Online (Sandbox Code Playgroud)

div也由外部JS文件设置.内容:

window.onload = initialize;

function initialize() {
    document.getElementById('infowindow_content').innerHTML = 'testa';
}
Run Code Online (Sandbox Code Playgroud)

它在关闭body标签之前包含以下方式:

<script type="text/javascript" src="../lib/functions.js"></script>
Run Code Online (Sandbox Code Playgroud)

我试图将上面的代码放在关闭的body-tag之前,但是目前我不知道为什么这不起作用(内容不会被我的Javascript更改).如果我之后在控制台上执行它一切正常.

解:

我在HTML文件中设置了配置参数(语言).在JS文件中,我要求这个值,并根据值定义另一个内容.有时它可能很简单......

javascript jquery onload

0
推荐指数
1
解决办法
2624
查看次数

Javascript函数没有在按钮的onclick事件中调用

不知道为什么即使按钮也不会在onclick上调用open函数.任何帮助都非常有用

<html>
<head>
</head>
<body>
<script>
function open(){
alert('gsfhdgf');
document.getElementById("overlay").style.display="block";
document.getElementById("fade").style.display="block";
}

</script>
<div id="fade" style="display:none">

<div id="overlay" style="display:none">
this is my content
</div>
</div>
<button  onclick="open()">Click Me!</button>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

javascript

0
推荐指数
1
解决办法
266
查看次数

document.getElementById因未知原因返回null

代码用于滑块切换图像.当我运行页面时,我收到此错误:

无法设置null的属性'onclick'.

HTML:

   <!DOCTYPE html>
   <html lang="en">
   <head>
<meta charset="UTF-8">
<title>Image Slider</title>
<link rel="stylesheet" type="text/css" href="sliderswag.css">
<script language="javascript" type="text/javascript" src="imgslidescript.js"></script>
</head>
<body>
<div id="box">
    <img id="main" src="http://lmetar.com/oscar1.jpg">
    <img id="left" src="http://lmetar.com/left.png">
    <img id="right" src="http://lmetar.com/right.png">
</div>
Run Code Online (Sandbox Code Playgroud)

JavaScript的:

 document.getElementById('left').onclick = slideChange;
document.getElementById('right').onclick = slideChange;
var slideNumber = 0;
function slideChange()
{
    slideNumber += 1;
    if (slideNumber > 3)
    {
        slideNumber = 1;
    }
    else
    {
        document.getElementById('main').src = 'http://lmetar.com/oscar' + slideNumber + '.jpg';
    }
}
Run Code Online (Sandbox Code Playgroud)

html javascript

0
推荐指数
1
解决办法
605
查看次数

如何知道javascript是否位于&lt;head&gt;或html的底部?

我有<head>很多.css,.js和元数据。但是只有一个脚本,如果将其放在<head>html中,将无法正常运行。它只有在文件末尾时才起作用。

我想知道的是,如果有任何有关此文档或特殊类型的规则的文档,作为初学者Web设计人员应遵循。

<html>
<head>
 <link href="css/style.css" rel="stylesheet">
 <link href="css/style2.css" rel="stylesheet">
 <script src="js/script.js"></script>
 <script src="js/scipt2.js"></script>
</head>
<body>
<----------HTML---------->
</body>
 <script src="js/secret.js"></script>
</html>
Run Code Online (Sandbox Code Playgroud)

html javascript

0
推荐指数
1
解决办法
64
查看次数

javascript $未定义

我有一个网页,我想有可折叠的标题,我有下面的代码作为一个例子,但由于某种原因,它一直说$ $没有定义.

<head>
<style>
tr, td
{
    border: 1px solid black;
}
tr.header
{
    cursor:pointer;
}
</style>
</head>
<body>
<table border="0">
<script>
'use strict';
$('.header').click(function(){

$(this).nextUntil('tr.header').slideToggle(1000);
});
</script>
  <tr  class=".header">
   <td colspan="2">Header</td>
  </tr>
  <tr>
    <td>data</td>
    <td>data</td>
  </tr>
  <tr>
    <td>data</td>
    <td>data</td>
  </tr>
  <tr  class=".header">
    <td colspan="2">Header</td>
  </tr>
  <tr>
    <td>date</td>
    <td>data</td>
  </tr>
  <tr>
    <td>data</td>
    <td>data</td>
  </tr>
  <tr>
    <td>data</td>
    <td>data</td>
  </tr>
</table>
</body>
Run Code Online (Sandbox Code Playgroud)

我想要在页面加载时只需获取标题列表,然后当您单击它时会展开它

html javascript jquery

-2
推荐指数
1
解决办法
131
查看次数