Вставить всплывающее окно Div в активный веб-сайт с расширением Chrome? - PullRequest
0 голосов
/ 05 октября 2018

Я очень новичок в веб-дизайне, я действительно ломал голову над этим, но просто не могу понять это.Есть всплывающее окно, которое я работаю ниже на отдельной странице из примера, который я нашел в Интернете.Я хочу, чтобы это всплывающее окно вставлялось в любой активный веб-сайт, на котором я работаю, когда я нажимаю кнопку расширения Chrome, чтобы это всплывающее окно стало полностью встроенным в него.Я просто не могу понять, как заставить это работать в Chrome все же.Я видел пример проекта, достигающего этого с помощью jQuery, пытающегося использовать нагрузку jQuery с каким-либо типом всплывающего контейнера, но не могу заставить его работать на себя.

Ниже приведен мой источник для моего обычного образца HTML, может кто-нибудь посоветовать, как заставить эту всплывающую форму внедриться в веб-страницу с помощью расширения Chrome?

ОБНОВЛЕНИЕ: Вот пример, который я пытался использовать в файле Chrome Extension popup.js.Хотя он внедряет другой фрейм, он делает это только во всплывающем окне, а не на активном веб-сайте, который я открыл на вкладке.

$(function(){

// Within a content script:
var f = document.createElement('iframe');
f.src = chrome.extension.getURL('basic_working_popup.html');
document.body.appendChild(f); // Append to body, for example.

});

Basic Working Popup.css

a.selected {
  background-color:#1F75CC;
  color:white;
  z-index:100;
}

.messagepop {
  background-color:#FFFFFF;
  border:1px solid #999999;
  cursor:default;
  display:none;
  margin-top: 15px;
  position:absolute;
  right:0;
  bottom:0;
  text-align:left;
  width:294px;
  z-index:50;
  padding: 25px 25px 20px;
}

label {
  display: block;
  margin-bottom: 3px;
  padding-left: 15px;
  text-indent: -15px;
}

.messagepop p, .messagepop.div {
  border-bottom: 1px solid #EFEFEF;
  margin: 8px 0;
  padding-bottom: 8px;
}
<html>
<head>

    <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
    <script src="js/jquery-ui.js"></script>
    <script src="js/jquery.autoresize.min.js"></script>

<link rel="stylesheet" href="css/jquery-ui.css" />
<link rel="stylesheet" href="css/jquery-ui.structure.css" />
<link rel="stylesheet" href="css/jquery-ui.theme.css" />
<link rel="stylesheet" href="basic working popup.css" />

<script type="text/javascript">

function deselect(e) {
  $('.pop').slideFadeToggle(function() {
    e.removeClass('selected');
  });    
}

$(function() {
  $('#contact').on('click', function() {
    if($(this).hasClass('selected')) {
      deselect($(this));               
    } else {
      $(this).addClass('selected');
      $('.pop').slideFadeToggle();
    }
    return false;
  });

  $('.close').on('click', function() {
    deselect($('#contact'));
    return false;
  });
});

$.fn.slideFadeToggle = function(easing, callback) {
  return this.animate({ opacity: 'toggle', height: 'toggle' }, 'fast', easing, callback);
};


</script>


</head>
<body>


<div class="messagepop pop">
    <form method="post" id="new_message" action="/messages">
        <p><label for="email">Your email or name</label><input type="text" size="30" name="email" id="email" /></p>
        <p><label for="body">Message</label><textarea rows="6" name="body" id="body" cols="35"></textarea></p>
        <p><input type="submit" value="Send Message" name="commit" id="message_submit"/> or <a class="close" href="/">Cancel</a></p>
    </form>
</div>

<a href="/contact" id="contact">Contact Us</a>





</body>


</html>
...