如何提醒用户在OBJECT中进行div更改

时间:2012-10-05 11:24:22

标签: javascript object html alert children

我想提醒用户div中是否有更改,或者任何子div的内容是否已更改,

我想要检测的div在一个物体内!

这是我的代码:

<object type="text/html" data="https://secure.brosix.com/webclient/?nid " style="width:710px;height:555px; border:none;">
</object> 

<script>
$('#BrosixChatReceive').bind('contentchanged', function() {
  // do something after the div content has changed
  alert('woo');
});

$('#BrosixChatReceive').trigger('contentchanged');
</script>

对象内部的代码“没有变化”

<div class="BrosixChatReceive" id="BrosixChatReceive" style="width: 344px; height: 476px; "></div>

这是从对象内部的div进行更改时的代码:

<div class="BrosixChatReceive" id="BrosixChatReceive" style="width: 344px; height: 476px; ">

<div class="BrosixChatWith" id="chatwith-85905" style="display: block; ">
<div class="BrosixChatItemOther"><div class="BrosixChatItemTime">18:34:36</div>
<div class="BrosixContactUsername" style="font-weight:bold;">person1</div>
<div class="BrosixChatMessage">message 1</div>
</div>
<div class="BrosixChatItemOther"><div class="BrosixChatItemTime">18:36:02</div>
<div class="BrosixContactUsername" style="font-weight:bold;">person1</div>
<div class="BrosixChatMessage">message 2</div>
</div>
<div class="BrosixChatItemOther"><div class="BrosixChatItemTime">18:36:54</div>
<div class="BrosixContactUsername" style="font-weight:bold;">person1</div>
<div class="BrosixChatMessage">message 3</div>
</div>
</div>
<div class="BrosixChatWith" id="chatwith-91218" style="display: none; ">
<div class="BrosixChatItemOther"><div class="BrosixChatItemTime">18:35:07</div>
<div class="BrosixContactUsername" style="font-weight:bold;">person2</div>
<div class="BrosixChatMessage">message 1</div>
</div>
</div>

</div>

有没有办法检测到这种变化,并在进行了这些更改后提醒用户?

“我也无法更改OBJECT中的网页代码”

所以必须在不编辑对象内容的情况下完成此操作。

1 个答案:

答案 0 :(得分:1)

这里的功能类似于我在another answer中提出的功能:

function survey(selector, callback) {
   var input = $(selector);
   var oldvalue = input.html();
   setInterval(function(){
      if (input.html()!=oldvalue){
          oldvalue = input.html();
          callback();
      }
   }, 100);
}

survey('#yourdivid', function(){console.log('changed')}); 

每次更改标识为survey的div时,都会调用yourdivid的回调。检查每100毫秒完成一次。

但更好的解决方案通常是更改修改div的脚本以直接获取警报。

正如您所提到的那样,另一个网页&#34;我必须提醒您,如果内容来自其他域,则无法正常工作。