Использование Skrollr с Dart
Я пытаюсь реализовать анимацию на основе прокрутки в своем веб-приложении Dart с помощью Skrollr.js. Пока у меня есть следующее в 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 для анимации на основе прокрутки, я был бы рад узнать об этом.
Заранее спасибо.
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>
это работает. нет проблем с этим.