0

如果 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 内网页的代码”

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

4

1 回答 1

1

这是一个类似于我在另一个答案中提出的功能:

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每次更改 id 的 div 时都会调用给定的回调yourdivid。检查每 100 毫秒进行一次。

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

当您提到“另一个网页”时,我必须警告您,如果内容来自另一个域,这将不起作用。

于 2012-10-05T11:29:07.370 回答