2017-09-13 21 views
0

私はウェブサイトにライブチャットを追加していますが、私の問題はCSPポリシーによってブロックされるページに動的なonclickを追加することです。jQuery 1つの要素から別の要素に動的コンテンツを追加

私は動的コードを削除し、自分自身を追加することで、この問題を回避することができました。

私は何を把握することはできませんが

ID =「オンライン・アイコン」またはID =「オフライン・アイコン」ともスパンクラスLHC-、テキストベースのいずれかであることができるリンクIDをつかむ方法でありますステータステキスト

クライアント側は私の強みではないので、下のコードが混乱している場合は謝罪しますが、上記のIDを自分のコードに追加すると助けてくれる人もいます。

$(document).ready(function() { 
    $('body').on('click', '.status-icon', function() { 
     $(this).closest('#lhc_status_container').remove(); 

     $('<div id="lhc_status_container">' + 
      '<a id="NEED TO ADD STATUS HERE" class="status-icon" href="#">' + 
      '<span class="lhc-text-status">AND HERE</span>' + 
      '</a>' + 
      '</div>').appendTo("#liveChatCase"); 


     $("#online-icon").click(function() { 
      return window.lh_inst.lh_openchatWindow(); 
     }); 
    }); 
}); 

以下は、動的コードがページにどのように追加されるかの例です。

<div id="lhc_status_container"> 
<a id="online-icon" class="status-icon" href="#" onclick="return lh_inst.lh_openchatWindow()"> 
<span class="lhc-text-status">Live help is online...</span></a> 
</div> 

私は今のid =「HERE STATUSを追加する必要がある」それでもLHC-テキストの状態で作業を

答えて

0

解決の問題の値を取得するために管理しているUPDATE、以下のコードは、あると誰もができればそれを改善し、私はライブチャットをクリックする必要があるとして、それが

$(document).ready(function() { 
    $('body').on('click', '.status-icon', function() { 
     var statusId = $(this).attr('id'); 
     var textStatus = $(".lhc-text-status").text(); 
     $(this).closest('#lhc_status_container').remove(); 

     $('<div id="lhc_status_container">' + 
      '<a id="'+ statusId +'" class="status-icon" href="#">' + 
      '<span class="lhc-text-status">' + textStatus +'</span>' + 
      '</a>' + 
      '</div>').appendTo("#liveChatCase"); 


     $(".status-icon").click(function() { 
      return window.lh_inst.lh_openchatWindow(); 
     }); 
    }); 
}); 

を開く前に二回OKが

$(document).ready(function() { 
    $('body').on('click', '.status-icon', function() { 
     var statusId = $(this).attr('id'); 
     var textStatus = $(".lhc-text-status").text(); 
     // $(this).closest('#lhc_status_container').remove(); 

     $('<div id="lhc_status_container">' + 
      '<a id="'+ statusId +'" class="status-icon" href="#">' + 
      '<span class="lhc-text-status">' + textStatus +'</span>' + 
      '</a>' + 
      '</div>').appendTo("body"); 

     return window.lh_inst.lh_openchatWindow(); 

     // $(".status-icon").click(function() { 
     //  return window.lh_inst.lh_openchatWindow(); 
     //}); 
    }); 
}); 
0123の下に改正されたコードをダブルクリックして問題を修正しDIVいただければ幸いです
+0

2回目のクリックを避けるために$( "。status-icon")トリガー( "クリック")を追加することができます –

+0

こんにちはmike d、コード変更の問題を修正しました –

関連する問題