0

好的,首先。没有 jquery,没有 ajax,只有纯 javascript。我在名为 text.html 的页面上有以下代码。

<html><body>
<script>
function live(ID,txt2) {
    var a = document.getElementById(ID);
    a.innerHTML = (txt2);
}
setInterval(live, 250);
a.innerHTML =(txt2);
</script>
<div id="txt1">Live</div><p />
</body></html>

我在 live2.html 上有以下代码

<html>
  <body>
<p />
<iframe width="400" height="50" src="text.html" name="frameA" id="frameA"></iframe><p />        
<input type="button" value="Live" onClick="document.getElementById('frameA').contentWindow.live('txt1','L I V E')">
<input type="button" value="Rebroadcast" onClick="document.getElementById('frameA').contentWindow.live('txt1','Rebroadcast')"><br />
 <a href="text.html" target="frameA">text</a>
 </body>
</html>

通过更新 iframe 中的信息,当前代码完全按照我的意愿工作。我的问题是这个。如果有人直接访问 text.html,我希望他们能够看到我将该文档更改为的内容。示例:我单击一个按钮,iframe 中的文本现在显示重新广播。其他人访问 text.html,他们也看到了转播。如果在他们查看 text.html 时,我点击了 live 按钮,text.html 页面将更新为 live 一词。我也可以对此进行 PHP 脚本编写。我已经尝试过 jquery 并且在让它正常工作方面遇到了问题,而且我真的没有知识或访问权限来实现很多其他的东西。这是一个正在进行的项目。我希望最终结果将是一个 iframe,我可以更新它,而实际上不在该框架所在的同一页面上。(同域)内容将是从图像到 youtube 嵌入和图片的任何内容。我正在尝试更全面地了解这种语言的工作原理,这就是为什么我要一步一步来。我对访问教程或查看预制解决方案没有任何问题。谢谢你的帮助。:)

4

3 回答 3

1

我想我可能遗漏了一些东西。用户将始终看到文本“Live”,因为这是 text.html 中硬编码的内容。如果您通过 JavaScript 更改文本并不重要,因为它只会影响您正在查看的浏览器。您需要将其保存到持久存储(即数据库)并在页面上动态显示。

于 2012-09-27T00:43:23.007 回答
0

live2.html 可以使用 AJAX 将更改发送到服务器,然后服务器可以更新 live.html。但这是一种糟糕的方法,因为这意味着 live.html 的内容是在您的版本控制和/或内容管理系统之外更新的。最好使用真实的数据库并动态生成页面,如 suke 所说。

于 2012-09-27T01:38:52.917 回答
0

首先,当学习编程语言的人没有完全理解一种语言能做什么和不能做什么时,就会发生这种情况。最初的想法是让特定的一群人知道它什么时候重播或者什么时候开始直播。我希望控制何时更改该信息,以便仅对各种管理员可用。最后,整个想法都被废弃了,完全不切实际。从本质上讲,该解决方案在我想要完成此任务的方式中并不存在。多年后...解决方案是在带有 CSS 的 div 标签内进行直播和转播。然后使用 JavaScript 函数将 div 的属性更改为隐藏或显示。按钮或链接需要与实时或重播文本存在于同一页面上。这也意味着不需要单独的框架。要从它所在的页面外部控制这个元素,只能通过在其他地方存储一个值并定期检查该值来完成。 JSFiddle

剧本:

var x = document.getElementById("txt1");
var y = document.getElementById("txt2");


function htext() {
    x.style.visibility = 'visible';
    y.style.visibility = 'hidden';
}

function stext() {
    x.style.visibility = 'hidden';
    y.style.visibility = 'visible';
}

function ctext() {
    var z = getComputedStyle(x).getPropertyValue("visibility");
    if (z != 'hidden') {
        stext();
    } else if (z != 'visible') {
        htext();
    }
}

CSS:

#txt1 {
    visibility: hidden;
    margin-left:0px;
}
#txt2 {
    visibility:visible;
    margin-left:0px;
}

的HTML:

<span id="txt1">Live</span>

<span id="txt2">Rebroadcast</span>

<br />
<a href="javascript://" onclick="ctext();">click</a>

老实说。我不完全确定将信息存储在其他地方并检查某些条件是否为真所需的编程。上面的程序本质上将隐藏和显示一个 div。我可能会更进一步,使用 JQuery 来创建和删除实际的 div 本身。最后,这基本上接近我最终使用的解决方案,然后放弃并放弃了该项目。

于 2015-06-09T01:40:58.480 回答