聚合物中的Javascript(目标不正确)

聚合物中的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

所以我刚开始使用Polymer,我想在这个元素中构建一个定制的SoundCloud播放器。不知怎的,我一直得到以下错误:

未捕获错误:SC.应为iframe或 元素或指定iframe元素的id属性的字符串

这应该意味着我没有以正确的方式瞄准iframe,但我想不出其他方法来实现这一点(因为差不多4个小时)

=我的问题是为什么
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>