我有一个关于使用jQuery重新加载页面后隐藏iframe ID的查询。
我有一个外部实时聊天(使用以下iframe)

<iframe id="customer-chat-iframe" name="mcs_1380166852448_" src="https://testlivechat.test.com/php/app.php?widget-iframe-content" marginwidth="0" marginheight="0" frameborder="0" allowfullscreen="" style="background: transparent; border: none; outline: none; position: fixed; display: block; z-index: 999999; bottom: -355px; right: 30px; overflow: hidden; min-width: 279px; min-height: 368px; width: 340px; height: 400px; margin: 0px; padding: 0px;"></iframe>


实时聊天在外部网站上被调用。

<script type="text/javascript" src="//testlivechat.test.com/php/app.php?widget-init.js"></script>


我的要求是,我需要先隐藏聊天框(重新加载整个页面后),然后单击某些特定事件(如按钮单击)后,才应显示聊天框。

我用jquery尝试了同样的方法,但是最初无法隐藏。

不适用的代码:

(function( $ ) {
 $('#customer-chat-iframe').hide();
})(jQuery);

最佳答案

尝试使用JS Cookie:

/** This is load on page ready. **/
$( document ).ready(function() {
  var isCookieSet = getCookie("c_chat");
  if(isCookieSet == "" || isCookieSet == null){
    $('#customer-chat-iframe').css("display", "none");
  }
  else{
    $('#customer-chat-iframe').css("display", "block");
  }
});


/*Function to get cookie value **/
function getCookie(c_name) {
  if (document.cookie.length > 0) {
    c_start = document.cookie.indexOf(c_name + "=");
    if (c_start != -1) {
        c_start = c_start + c_name.length + 1;
        c_end = document.cookie.indexOf(";", c_start);
        if (c_end == -1) {
            c_end = document.cookie.length;
        }
        return unescape(document.cookie.substring(c_start, c_end));
    }
  }
  return "";
}




/** This will execute on click of radio button and set the cookie **/
function onRadioButtonClicked(){
  var isCookieSet = getCookie("c_chat");
  if(isCookieSet == "" || isCookieSet == null){
    document.cookie = "c_chat=1";
  }
  $('#customer-chat-iframe').css("display", "block");
}


您需要在单选按钮上调用“ onRadioButtonClicked()”。
让我知道这是否适合您

关于javascript - 使用jQuery重新加载页面后隐藏iframe ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46648762/

10-12 15:45