javascript - 如何根据另一个页面中的内容更改图像链接

标签 javascript jquery

我想在我的页面 (page1) 上放置一个图像,该图像是另一个页面 (page2) 的链接,但我希望根据 page2 的内容显示的图像是两个可能图像之一。

本例中的 Page2 是报告当前状态的 wiki 页面。如果没有要报告的问题,第 1 页上的图像将为绿色。如果列出了问题,图像将为红色。

我的计划是使用 html 注释标签来嵌入 <!--STATUSRED--><!--STATUSGREEN-->在我的维基页面上。然后我想我可以使用 javascript、Jquery 或类似的东西来检查我的评论是否存在并相应地更改 page1 上的图像。我只是不确定到底该怎么做。

我也愿意接受其他想法。无论我提出什么解决方案,wiki 用户都必须能够简单地进行更改,而无需用户更改 page1(这不是 wiki 的一部分)。

更新:

我最终做了什么:

$(document).ready(function() {
    statusCheck();
    setInterval(statusCheck,300000);
}

function statusCheck() {
    $.ajax({
        type: "GET",
        url: "path/to/wiki/MainPage.ashx",
        dataType: "html",
        cache: false,
        success: function(html) {
            $('#statusImage').attr('src', function() {
                if ($(html).find("#statusGreen").length)
                {
                    return '/images/green.gif';
                }
                else
                {
                    return '/images/red.gif';
                }
            });         
        },
        error: function(request,status, error) {
            $('#statusImage').attr('src', '/images/red.gif');
        }       
    });
}

然后在 wiki 页面上,我只需将相关 div 上的 id 属性更改为“statusGreen”或“statusRed”,如下所示:

<div id="statusGreen">
<font size="5" color="green">No issues to report.</font>
</div>

我想要更改的图像获得“statusImage”id:

<img id="statusImage" width="95" height="95" border="0" />

最佳答案

这是非常浪费的,因为您获取所有 wiki 页面的内容只是为了检查单个单词是否存在,无论如何,这是如何做到这一点的:

<div id="hidden_container" style="display: none;"></div>
<img src="" id="wikistatus"/>

function set_status() {
  var status_image = 'images/green.gif';
  $('#hidden_container').empty();
  $('#hidden_container').load('path/to/wiki.html #status', function() {
    var status = $('#hidden_container').text();
    var is_green = status.indexOf('<!--STATUSGREEN-->');
    if(is_green === false) status_image = 'images/red.gif';
    $('#wikistatus').attr('src', status_image);
    setTimeout('set_status();', 5000); // execute again in 5 seconds
  });
}

$(document).ready(function() {
  set_status();
});

在 wiki.html 中,确保将状态代码包装在容器中,并将 status 作为 id:

<div id="status"><!--STATUSGREEN--></div>

关于javascript - 如何根据另一个页面中的内容更改图像链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4947639/

相关文章:

jquery - 使用 $.ajax() 获取图像 - 访问控制请求 header

javascript - 选择非禁用选项时更改选择背景颜色

javascript - 打印多个div及其数据并将其保存为pdf

php - 电子邮件反垃圾邮件 PHP

javascript - 如何通过onclick 事件更改div 的属性?

javascript - 查找后无法设置属性

javascript - 调整窗口大小时如何更改div的左边距?

javascript - 使用 javascript 将项目向下移动到页面

javascript - 重叠的 chart.js 堆叠图

JavaScript (jQuery)/HTML : Setting an &lt;input&gt; or <select> to enabled, 不工作?