相关疑难解决方法(0)

我应该在哪里将<script>标记放在HTML标记中?

在JavaScript文档中嵌入JavaScript时,放置<script>标记和包含JavaScript 的适当位置在哪里?我似乎记得你不应该把它们放在这个<head>部分中,但放在该部分的开头<body>也是不好的,因为在完全呈现页面之前必须解析JavaScript(或类似的东西).这似乎将该部分的末尾<body>作为<script>标记的逻辑位置.

所以,在这里把正确的地方<script>标记?

(这个问题引用了这个问题,其中建议JavaScript函数调用应该从<a>标签移动到<script>标签.我专门使用jQuery,但更一般的答案也是合适的.)

html javascript jquery

1392
推荐指数
11
解决办法
53万
查看次数

使用async not working $未定义

如果我在脚本标记中使用async,则会出现错误,如下所示

<script async src="main.js"></script>
Run Code Online (Sandbox Code Playgroud)

该错误仅显示在chrome上

Uncaught ReferenceError: $ is not defined
Run Code Online (Sandbox Code Playgroud)

如果我从脚本标记中删除了异步,则我的控制台中没有更多错误,一切正常.

你知道为什么会遇到这个问题吗?

编辑

下面的脚本放在head标签内

<!-- JS -->
<script async src="../js/jquery/jquery-1.10.1.min.js">    </script>
<script async src="../js/vendor/modernizr-2.8.2.min.js"></script>

<script async src="../js/asynchronous-resources/2014-06-03-asynchronous-resources.js"></script>

<!-- IE JS -->
<!--[if !IE]><!--><script async src="../js/ie10.js"></script><!--<![endif]-->
Run Code Online (Sandbox Code Playgroud)

main.js被添加到页脚.

<script async src="../js/main.js"></script>
Run Code Online (Sandbox Code Playgroud)

我在stackoverflow上发现了一个类似的问题. 在其他脚本之前异步加载jquery

我不得不改变异步以推迟现在在firefox,chrome和IE9中没有更多问题.

它完全打破了IE8和IE7.如果我使用defer,jQuery就会停止工作.

javascript asynchronous

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

使用回退异步加载 jquery 核心

通过头中的性能优化和非阻塞脚本,我一直在尝试异步加载 jquery 本身。

我遇到了一个jQuery Loader脚本,它异步加载 jquery,然后捕获和排队 jquery 文档就绪调用。这似乎在大部分时间都有效,但并非总是如此。

因此,如果加载程序在 x 秒内未完成,我创建了一个回退来加载本地 jquery 版本。回退有效,但不完全。有些部分可能有效,有些则无效。

加载 jquery 加载器脚本后,到目前为止在 head 中调用的脚本:

<script type="text/javascript">
function loadScript(url)
{
    var head = document.getElementsByTagName('head')[0];
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = url;
    head.appendChild(script);
}

var fallback_timer = setTimeout(function() {
    loadScript('/path/to/local/js/jquery.js');
},5000);
jQl.loadjQ('//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js',function({clearTimeout(fallback_timer);});

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

问题:

  1. 任何有 jQuery Loader (jQl) 经验的人都可以帮助解决它经常失败的问题?

  2. 谁能告诉我为什么在失败的情况下,只有我的其他一些 js 脚本可以工作,而有些却一直失败?

  3. 我非常愿意使用其他一些插件/脚本/方向来异步加载 jquery 核心。

澄清一下,我不是在考虑使用 jQuery 异步加载脚本,而是在支持加载 jquery 依赖脚本的同时异步加载 jquery 本身。

jquery asynchronous pagespeed

5
推荐指数
1
解决办法
1702
查看次数

标签 统计

asynchronous ×2

javascript ×2

jquery ×2

html ×1

pagespeed ×1