用iframe替换图像

时间:2014-08-12 06:28:02

标签: javascript jquery html iframe widget

我正在尝试使用JQuery用iframe替换带有特定src标记的img标记。 这是外部窗口小部件脚本实现的一部分。这是我用来替换带有iframe的特定src图像的代码:

function main() {
jQuery(document).ready(function($) {
  var img = $("img[src='http://fc01.deviantart.net/fs17/f/2007/129/7/4/Stock_032__by_enchanted_stock.jpg']")[0];
  var width;
  var height;
  var id = 47;
  $("<img/>") 
      .attr("src", $(img).attr("src"))
      .load(function() {
          width = this.width;   
          height = this.height; 
          var widgetReplace = "<iframe src=&quothttp://localhost:5000/app/#/widget" + id + "?height=" + height + "px&width=" + width + "px frameborder='0' height=&quot" + height + "&quot width=&quot" + width + "&quot style='overflow:'hidden';&quot></iframe>"; 
          this.replaceWith(widgetReplace);
      });        
   });
  }
})();

我收到错误&#34;未定义不是函数&#34;在this.replaceWith(widgetReplace)行。

2 个答案:

答案 0 :(得分:0)

编辑:嗯,在我发布之后看到错误不是我所知道的那样,猜猜我错了。

由于iframe的格式化,我可能完全错了,但是从一两分钟看它看起来你错过了&amp; quot。  这是有问题的一行,我把很多东西都剪掉了以便于阅读

var widgetReplace = "<iframe src=&quothttp://localhost:5000/app/#/widget" + id + "?height="

id或?我认为应该是完成src的最终引用。 E.G。

"<iframe src=&quothttp://localhost:5000/app/#/widget" + id + "?&quotheight="

当然,根据可能在不同的地方,我无法知道。

答案 1 :(得分:0)

方法replaceWith()是一个jQuery函数,所以你应该使用:

$(this).replaceWith(widgetReplace);