2013-06-06 4 views
0

У меня есть документ, и мне нужно вызвать функцию в этом документе из моего Javascript, чтобы изменить некоторые значения.глобальная функция papercript, вызванная javascript win8 app

Я знаю, что могу как-то написать, что мне не нужен документ, но только javascript. , но я не получаю работу.

Есть ли другие способы, которыми я могу просто экспортировать функцию papercript в javascript? или есть другие способы

Я также видел, что-то вроде этого: но он также не работал :-(

https://github.com/paperjs/paper.js/issues/17 

--------- мой текущий попытаться решить --- -----

мой JavaScript:

var paperscript = {}; 

мой paperscript код до сих пор:

this.someFunction = function(){ /*doSomething*/ }; 
//... 
paper.install(window.paperscript); 

вызов вне paperscript:

paperscript.someFunction(); //error, object doesnt have that function :-(

ответ

0

В этом коде (jsbin here), JavaScript используется для вызова someFunction в paperscript, превращая прямоугольник красный:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset=utf-8 /> 
<title>JS Bin</title> 
    <script type="text/javascript" src="https://raw.github.com/paperjs/paper.js/master/dist/paper.js"></script> 
    <script type="text/javascript"> 
    var paperscript = {}; 
    window.onload = function(){ 
     paperscript.someFunction(); 
    } 
    </script> 
    <script type="text/paperscript" canvas="p"> 
    this.someFunction = function(){ 
     rect1.fillColor = new Color('red'); 
    }; 
    var rect1 = new Path.Rectangle({ 
     point: [0, 10], 
     size: [100, 100], 
     strokeColor: 'black' 
     }); 
    paper.install(window.paperscript); 
    </script> 
</head> 
<body> 
    <canvas id="p" resize></canvas> 
</body> 
</html> 

Я думаю, что вы не дожидались загрузки документов, прежде чем пытаться получить к нему доступ с помощью javascript. Paperscript не загружается (обычно) до загрузки изображений; поэтому этот код использует window.onload для вызова функции papercript.

Смежные вопросы