0

Skrollr.js を使用して、Dart Web アプリケーションにスクロール ベースのアニメーションを実装しようとしています。これまでのところ、main() には次のものがあります。

main() {
  ScriptElement script = new ScriptElement()
    ..type = 'application/javascript'
    ..src = 'skrollr.min.js';
  document.body.children.add(script);
  ScriptElement script2 = new ScriptElement()
    ..type = 'application/javascript'
    ..innerHtml = 'var s = skrollr.init({forceHeight: false});';
  document.body.children.add(script2);

  js.context.callMethod('skrollr', ['init({forceHeight: false})']);
}

何らかの理由で、実行時に次のエラーが発生します。

Uncaught ReferenceError: skrollr is not defined and 
Exception: NoSuchMethodError: method not found: 'skrollr'

skroller.min.js は index.html の横にあるアプリに配置されているので、ここで何が問題なのかヘルプを探しています。

また、これがスクロール ベースのアニメーションの純粋な Dart の代替手段である場合は、それについても喜んでお知らせします。

前もって感謝します。

4

1 に答える 1

1

ちょうど使用:

import 'dart:js'; 

void main() { 
  void keyframe(element, name, direction) {
  } 

  context['skrollr'].callMethod('init', [{'keyframe': keyframe}]); 
}

<!DOCTYPE html> 
<html> 
  <head> 
    <meta charset="utf-8"> 
    <title>skrollr</title> 
    <script type="text/javascript" src="skrollr.min.js"></script> 
  </head> 
  <body> 
    <script type="application/dart" src="main.dart"></script> 
    <script data-pub-inline src="packages/browser/dart.js"></script> 
  </body> 
</html>

これは機能します。問題ありません。

于 2014-12-08T12:42:33.683 に答える