在 HTML 中包含 JavaScript
Posted
技术标签:
【中文标题】在 HTML 中包含 JavaScript【英文标题】:Including JavaScript in HTML 【发布时间】:2014-06-21 21:47:31 【问题描述】:我在网上找到了一个 jQuery 声音插件(没有 flash),它是 script.aculo.us 的 sound.js (http://script.aculo.us) 的一部分,基于 Jules Gravinese (http://www.webveteran.com/) 的代码。
不起作用:
<script type="text/javascript" src="/data/js/sound.js"></script>
作品:
<? include($_SERVER['DOCUMENT_ROOT']."/data/js/sound.js");?>
应该改变什么,所以我的 test.php 可以使用正常的 include 方法? 为什么此脚本仅适用于 query/1.4.2/jquery.min.js 而不适用于 jquery/1.11.1/ 或我的 jquery-2.1.0.min.js
test.php
<img src="/bilder/flaggen/englisch.png" onclick="$.sound.play('http://translate.google.com/translate_tts?ie=UTF-8&tl=en&q=Test')" style="cursor:hand;cursor:pointer;">
声音.js
<script type="text/javascript">
(function($)
$.sound =
tracks: ,
enabled: true,
template: function(src)
return '<embed style="height:0" loop="false" src="' + src + '" autostart="true" hidden="true"/>';
,
play: function(url, options)
if (!this.enabled)
return;
var settings = $.extend(
url: url,
timeout: 2000
, options);
if (settings.track)
if (this.tracks[settings.track])
var current = this.tracks[settings.track];
// TODO check when Stop is avaiable, certainly not on a jQuery object
current.Stop && current.Stop();
current.remove();
var element = $.browser.msie
? $('<bgsound/>').attr(
src: settings.url,
loop: 1,
autostart: true
)
: $(this.template(settings.url));
element.appendTo("body");
if (settings.track)
this.tracks[settings.track] = element;
if(options)
setTimeout(function()
element.remove();
, options.timeout)
return element;
;
)(jQuery);
</script>
【问题讨论】:
请问你的演示链接? lern-online.net/test.php 【参考方案1】:由于该文件已经在 .js
文件中,因此您不需要:
<script type="text/javascript">
开头
和
</script>
最后
此外,由于最新版本中的更新,它不适用于最新版本的 JQuery
。旧版本中的许多功能在新版本中已被删除或重命名。
每个使用 jQuery 的脚本都是针对特定版本的 jQuery 编写和测试的。有时,它适用于多个版本的 jQuery,有时它只适用于一个特定版本的 jQuery。
使用 jQuery 的脚本的作者有责任指定它与哪些版本的 jQuery 兼容。使用脚本的人有责任了解和理解所需的 jQuery 版本,并为脚本正常工作创建适当的环境(存在正确版本的 jQuery)。
特定版本的 jQueryUI 仅与特定版本的核心 jQuery 兼容。同样,jQueryUI 插件仅与 jQueryUI 和 jQuery 的某些版本兼容。您自己必须混合和匹配所有这些的兼容版本。
看看这个例子:
http://jquery.com/upgrade-guide/1.9/
这里还概述了较新的 JQuery 1.11 和 2.1.0
http://blog.jquery.com/2014/01/24/jquery-1-11-and-2-1-released/
【讨论】:
感谢您的链接,但是当我删除脚本标签时,它会显示整个 js 代码(还包含 Luke 的编辑) “感谢您的编辑。现在它可以完美运行了。-Grischa”那是什么意思? 我说了同样的话...由于文件已经在 .js 文件中,您不需要: 我很抱歉只在我的 test.php 上显示了 sound.php 中的整个 js 代码 在html页面中使用script标签...不要在.js文件上使用【参考方案2】:使您的第一个示例工作:
<script type="text/javascript" src="/data/js/sound.js"></script>
从您的 .JS 文件中删除标签。
【讨论】:
以上是关于在 HTML 中包含 JavaScript的主要内容,如果未能解决你的问题,请参考以下文章
在 HTML 文件中包含另一个 HTML 文件 单页应用程序