聚合物中的Javascript(目标不正确)
所以我刚开始使用Polymer,我想在这个元素中构建一个定制的SoundCloud播放器。不知怎的,我一直得到以下错误: 未捕获错误:SC.应为iframe或 元素或指定iframe元素的id属性的字符串 这应该意味着我没有以正确的方式瞄准iframe,但我想不出其他方法来实现这一点(因为差不多4个小时) =我的问题是为什么聚合物中的Javascript(目标不正确),javascript,html,iframe,soundcloud,polymer,Javascript,Html,Iframe,Soundcloud,Polymer,所以我刚开始使用Polymer,我想在这个元素中构建一个定制的SoundCloud播放器。不知怎的,我一直得到以下错误: 未捕获错误:SC.应为iframe或 元素或指定iframe元素的id属性的字符串 这应该意味着我没有以正确的方式瞄准iframe,但我想不出其他方法来实现这一点(因为差不多4个小时) =我的问题是为什么var-iframe=$(“.iframe”)不以iframe为目标。我在聚合物外面试过,效果很好 breaker-stream.html: 变量iframe=$(“.i
var-iframe=$(“.iframe”)代码>不以iframe为目标。我在聚合物外面试过,效果很好
breaker-stream.html:
变量iframe=$(“.iframe”);
var widget=SC.widget(iframe);
聚合物(“破胶剂流”{
网址:“
});
不能像在主文档中那样使用jquery$
访问影子根目录中的元素。这是一个很好的文档,请尝试搜索
将
标记放在模板内是个坏主意,将元素脚本放在原型对象内(在Polymer()
内)
把
放在
里面也是个坏主意。当放在那里时,它们不会做任何特殊的事情,应该放在元素之外
下面是一个工作示例():
聚合物
聚合物({
url:“”,
就绪:函数(){
this.widget=SC.widget(this.$.frame);
}
});
<polymer-element name="breaker-stream" attributes="url">
<template>
<iframe class="iframe" width="100%" height="450" scrolling="no" frameborder="no" src="{{url}}"></iframe>
<script>
var iframe = $(".iframe");
var widget = SC.Widget(iframe);
</script>
</template>
<script>
Polymer('breaker-stream', {
url: ""
});
</script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="https://w.soundcloud.com/player/api.js"></script>
</polymer-element>
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8>
<title>Polymer</title>
<!-- web components polyfill for non-Chrome -->
<script src="//www.polymer-project.org/components/platform/platform.js"></script>
</head>
<body>
<breaker-stream url="http://api.soundcloud.com/users/1539950/favorites"></breaker-stream>
<!-- from here down could be in an import -->
<!-- need this to make Polymer elements -->
<link rel="import" href="//www.polymer-project.org/components/polymer/polymer.html">
<!-- don't load this twice -->
<script src="https://w.soundcloud.com/player/api.js"></script>
<polymer-element name="breaker-stream" attributes="url" block>
<template>
<iframe id="frame" width="100%" height="450" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url={{url}}"></iframe>
</template>
<script>
Polymer({
url: "",
ready: function() {
this.widget = SC.Widget(this.$.frame);
}
});
</script>
</polymer-element>
</body>
</html>