在我的弹出式灯箱中添加外部链接

时间:2017-12-23 21:47:30

标签: javascript html modal-dialog popup lightbox

在我的网站上,我想在一个框架中显示谷歌网站,但这是我的错误:拒绝在框架中显示,因为它将'X-Frame-Options'设置为'SAMEORIGIN'

所以我想在弹出灯箱中显示链接,但不知道我该怎么做!!这是我的弹出灯箱代码:

// If you still get a boolean after trying this then the problem is in the query
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "databaseName");

$query = "SELECT d.id, d.name, d.city, AVG(l.column) FROM dining_listings d LEFT JOIN dining_reviews l on d.id=l.place_id";

if ($result = $mysqli->query($query))
{
    // fetch object array
    while ($row = $result->fetch_object())
    {
        echo $row->id;   // You should now be able to see the output
        echo $row->name;
        echo $row->rating
    }

// free result set
$result->close();
}

// close connection
$mysqli->close();
?>
$(document).ready(function() {

  var id = '#dialog';

  //Get the screen height and width
  var maskHeight = $(document).height();
  var maskWidth = $(window).width();

  //Set heigth and width to mask to fill up the whole screen
  $('#mask').css({
    'width': maskWidth,
    'height': maskHeight
  });

  //transition effect
  $('#mask').fadeIn(500);
  $('#mask').fadeTo("slow", 0.9);

  //Get the window height and width
  var winH = $(window).height();
  var winW = $(window).width();

  //Set the popup window to center
  $(id).css('top', winH / 2 - $(id).height() / 2);
  $(id).css('left', winW / 2 - $(id).width() / 2);

  //transition effect
  $(id).fadeIn(2000);

  //if close button is clicked
  $('.window .close').click(function(e) {
    //Cancel the link behavior
    e.preventDefault();

    $('#mask').hide();
    $('.window').hide();
  });

  //if mask is clicked
  $('#mask').click(function() {
    $(this).hide();
    $('.window').hide();
  });

});
#mask {
  position: absolute;
  left: 0;
  top: 0px;
  width: 100% !important;
  height: 750px !important;
  z-index: 9000;
  background-color: #fff;
  display: none;
}

#boxes .window {
  position: absolute;
  left: 0!important;
  top: 0px!important;
  width: 100%;
  height: 750px;
  display: none;
  z-index: 9999;
  padding: 20px;
  text-align: center;
}

#boxes #dialog {
  left: 0!important;
  top: 0px!important;
  width: 100%;
  height: 750px;
  padding: 10px;
  background-color: #ccc;
  font-family: 'Segoe UI Light', sans-serif;
  font-size: 15pt;
}

需要在我的帖子中添加更多文字,但所有人都说!!

1 个答案:

答案 0 :(得分:0)

您可以使用<iframe>显示外部网址中的内容。这不适用于每个网址,因为有些人会设置X-Frame-Options来禁止在<iframe>中嵌入网页。基本上,您将#dialog的HTML设置为<iframe>,并将src设置为您要显示的网址,例如:

$(id).html(`<iframe src="https://www.theonion.com/" frameborder="0" width="100%" height="100%" ></iframe>`);

以下是一个例子:

$(document).ready(function() {

  var id = '#dialog';
  
  $(id).html(`<iframe src="https://www.theonion.com/" frameborder="0" width="100%" height="100%" ></iframe>`);

  //Get the screen height and width
  var maskHeight = $(document).height();
  var maskWidth = $(window).width();

  //Set heigth and width to mask to fill up the whole screen
  $('#mask').css({
    'width': maskWidth,
    'height': maskHeight
  });

  //transition effect
  $('#mask').fadeIn(500);
  $('#mask').fadeTo("slow", 0.9);

  //Get the window height and width
  var winH = $(window).height();
  var winW = $(window).width();

  //Set the popup window to center
  $(id).css('top', winH / 2 - $(id).height() / 2);
  $(id).css('left', winW / 2 - $(id).width() / 2);

  //transition effect
  $(id).fadeIn(2000);

  //if close button is clicked
  $('.window .close').click(function(e) {
    //Cancel the link behavior
    e.preventDefault();

    $('#mask').hide();
    $('.window').hide();
  });

  //if mask is clicked
  $('#mask').click(function() {
    $(this).hide();
    $('.window').hide();
  });

});
#mask {
  position: absolute;
  left: 0;
  top: 0px;
  width: 100% !important;
  height: 750px !important;
  z-index: 9000;
  background-color: #fff;
  display: none;
}

#boxes .window {
  position: absolute;
  left: 0!important;
  top: 0px!important;
  width: 100%;
  height: 750px;
  display: none;
  z-index: 9999;
  padding: 20px;
  text-align: center;
}

#boxes #dialog {
  left: 0!important;
  top: 0px!important;
  width: 100%;
  height: 750px;
  padding: 10px;
  background-color: #ccc;
  font-family: 'Segoe UI Light', sans-serif;
  font-size: 15pt;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="boxes">
  <div id="dialog" class="window">
    
  </div>
  <div id="mask"></div>
</div>