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>

この変更を検出し、この変更が行われたときにユーザーに警告する方法はありますか?

「また、オブジェクト内の Web ページのコードを変更する方法がありません」

したがって、これはオブジェクトのコンテンツを編集せずに行う必要があります。

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')}); 

に与えられたコールバックは、id を持つ divが変更さsurveyれるたびに呼び出されます。yourdividチェックは 100 ミリ秒ごとに行われます。

しかし、より良い解決策は通常、スクリプトを変更して div を変更し、アラートを直接取得することです。

あなたが「別の Web ページ」に言及しているように、コンテンツが別のドメインからのものである場合、これは機能しないことを警告する必要があります。

于 2012-10-05T11:29:07.370 に答える