从localStorage获取价值并附加到iframe网址

时间:2017-11-03 19:24:48

标签: javascript jquery html iframe local-storage

我正在尝试从localStorage检索一个值,并将其附加到iframe网址中,然后将其写入页面。

我正在尝试使用document.write呈现iframe,但我认为我没有正确执行。

这是我到目前为止所拥有的:

<script>
  jQuery(document).ready(function($) {
      $( ".postid-192" ).load(function() {
          var email = localStorage.getItem("email");
          document.write('<iframe src="http://www2.site.com/l/123/2009-04-28/ABCDE?email=' + email + ' width="1" height="1"></iframe>');
      });
  });
</script>

我想我对document.write 应该做什么感到困惑?我有一种印象,它会在页面上写出......某处。但我可能会错误地解决这个问题。总的来说,我正在尝试获取价值(在这种情况下是电子邮件),然后将其附加到iframe URL中,然后将其放在页面的某个位置。我希望这是有道理的。

2 个答案:

答案 0 :(得分:1)

  

write()方法主要用于测试:如果在HTML文档完全加载后使用它,它将删除所有现有的HTML。

所以不要使用document.write。这段代码是正确的:

<script>
$(document).ready(function() {
    $(".postid-192").load(function() {
        var email = localStorage.getItem("email");
        $("#iframe").html('<iframe src="http://www2.site.com/l/123/2009-04-28/ABCDE?email=' + email + '" width="1" height="1"></iframe>');
    });
});
</script>

和HTML:

<div id="iframe"></div>

答案 1 :(得分:1)

附加iframe的正确方法:

var i=document.createElement('iframe');
i.src= 'http://www2.site.com/l/123/2009-04-28/ABCDE?email=' + email;
i.width=1;
i.height=1;
document.body.appendChild(i);