我有一些遗留代码可以使用,我没有使用Sprout Core的经验。寻找答案已被证实没有结果。如何将一个iframe添加到sproutcore中的视图中?
基本上,我只需要添加一个iframe到已经存在的视图,并且能够设置src URL。
我有一些遗留代码可以使用,我没有使用Sprout Core的经验。寻找答案已被证实没有结果。如何将一个iframe添加到sproutcore中的视图中?
基本上,我只需要添加一个iframe到已经存在的视图,并且能够设置src URL。
虽然你可以很容易使一个固定的iframe使用render
功能,也有一个SproutCore视图SC.WebView
,在:desktop
框架中为您执行此操作。如果您希望src
发生更改,或者您想调整iframe的大小以匹配其内容的大小,则应该使用SC.WebView
。
例如,
myWebView: SC.WebView.extend({
layout: { left: 10, right: 10, top: 10, bottom: 10, border: 1 },
shouldAutoResize: true, // when the iframe loads, resize it to fit the size of its content
valueBinding: SC.Binding.oneWay('MyApp.currentUrl') // bind the 'src' of the iframe
})
有几种方法可以做到这一点。
假设认为从SC.View
延伸,最简单的可能是重写#render方法,并添加iframe的自己:
MyApp.MyView = SC.View.extend({
render: function(context) {
context.push("<iframe src='http://google.com' />");
}
});
(附注:我假设shouldAutoResize属性只能在同一原属含量最高的工作,我相信调整大小优雅地失败,在跨域情况下,但这样在最坏的情况你。安全。) – Dave