【发布时间】:2013-04-27 10:07:37
【问题描述】:
基本上,我正在尝试完成一些个人爱好的代码。
我们的目标是能够从包含单行的文件中读取,该文件显示我当前正在收听的内容,因为它会更改歌曲,而无需我自己进行任何交互。最好我希望能够滚动包含歌曲名称的文本字段,但我会非常兴奋地在那里获得可格式化的文本。
目前我遇到了障碍,因为在编程方面我不是那么精明(震惊我的电脑到目前为止还没有起火......)。
到目前为止我所拥有的(对不起,糟糕的黑客工作):
<html>
<head>
<style>
body {
background-color: rgba(0, 0, 0, 0.65);
white-space: nowrap;
overflow: hidden;
margin: 0px 0px 0px 0px;
}
p.ex1 {
font:22px, arial, sans-serif;
color:rgb(255, 255, 255);
}
</style>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
setInterval('read',3000);
function read(){
jQuery.get('SongPlayback.html',
function(data){$('.contents').html(data);}
)
}
</script>
</head>
<body>
<p class="ex1">
Now Playing:<br>
<div id="contents"></div>
</p>
</body>
</html>
我怀疑所有这一切的主要问题是它要在本地运行,我不确定这是否可能(?),已经阅读了很多关于 JS 如何不在本地运行以确保安全的信息原因?可能是我只是在乱写代码。除了“SongPlayback.html”文件之外,我还将 jquery.js 存储在与 HTML 文件相同的目录中。
我之前使用<Object> 来存放文本,但我无法让它在歌曲(文件)更改时更新。
【问题讨论】:
-
您遇到了什么错误?如果您不知道,请检查您的控制台,如果您不知道那是什么,请在大多数主流浏览器中按
F12以获取带有 GUI 的web inspector。单击console选项卡,它将显示错误是什么。可以使用上述方法读取文件中的数据,但是,如果您只从文件中接收文本,只需执行$('.contents').html(data)}, 'text');以指定您仅接收文本字符串的意图 -
您不能在没有服务器运行的情况下在本地运行 jQuery.get 请求。您可以下载并在本地启动服务器:apachefriends.org/en/xampp.html 或将您的代码放在租用的服务器上(如果有的话)。
-
@tomca32 100% 错误。唯一抱怨它的浏览器是 Chrome,即使那样,如果你在本地做这一切,你也不担心用户是否会使用 Chrome,你可以简单地使用 Safari、Opera、Firefox、IE6-10 .
-
好吧,这并不是 100% 错误的,他会遇到同源问题。当然可以绕过它,但我认为最好不要进入它。虽然你在技术上是正确的,但我认为在服务器上做这些事情会让他省去很多麻烦。
-
@Ohgodwhy yes,只有 Chrome 在使用
file://执行 XMLHTPPRequests 时会抱怨同源策略,但您真的以这种方式获得了加载的内容吗?我没有看到您提到的浏览器都没有在控制台或 Fiddler 中执行实际请求,更不用说从响应中获取任何内容......