外部脚本在 PaperJS v0.9.22 中不起作用
External script not working in PaperJS v0.9.22
我是 paperJS 的新手,我想在 html 中包含一个外部 paperscript 文件,但它不起作用。虽然内联脚本运行良好。我的代码是:
HTML代码:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="js/paper.js"></script>
</head>
<body>
<script type="text/paperscript" src = "js/myScript.js" canvas = "myCanvas" >
</script>
<canvas id="myCanvas" resize></canvas>
paperScript代码(myScript.js):
// Create a Paper.js Path to draw a line into it:
var path = new Path();
// Give the stroke a color
path.strokeColor = 'black';
var start = new Point(100, 100);
// Move to start and draw a line from there
path.moveTo(start);
// Note the plus operator on Point objects.
// PaperScript does that for us, and much more!
path.lineTo(start + [ 100, -50 ]);
我在 Whosebug 上发现了一个旧的 link,它说使用版本 0.9.10 可以解决这个问题。但是这个问题在新版本中还没有解决吗?
这是 link:
How to use paperscript from external source?
根据此处的信息,我唯一的猜测是您正在加载 paper-core.js
,而不是 paper-full.js
。 paperscript 未在 paper-core.js
.
中实现
如果它是 paper-core.js
的行为将是您的代码永远不会被调用,因为没有什么可以解释 paperscript。
这不是 paperJs 问题。在这里,我试图从本地文件系统加载资源,chrome 不允许(违反其同源策略),因此我们需要一个本地 Web 服务器。Why?
可以使用 WAMP(在 Windows 上)、MAMP(在 OS X 上)、LAMP(对于 ubuntu)设置本地 Web 服务器。它也可以通过 Python http-server 和 NodeJS http-server 来设置。
实际上我通过 Udemy 的另一个学生找到了解决方案 -Git link here。转到 paper-full.js(它仅适用于下载的版本,不适用于 CDN)并转换行
xhr.open((options.method || 'get').toUpperCase(), options.url,
Base.pick(options.async, true));
成才
xhr.open((options.method || 'get').toUpperCase(), options.url);
我知道这不能用于普通网站,因为它违反了安全协议,所以它只是为了练习。根据 Paperjs,异步方法是可选的。顺便说一句,对我来说它适用于 Firefox,但不适用于 Chrome.
我是 paperJS 的新手,我想在 html 中包含一个外部 paperscript 文件,但它不起作用。虽然内联脚本运行良好。我的代码是:
HTML代码:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="js/paper.js"></script>
</head>
<body>
<script type="text/paperscript" src = "js/myScript.js" canvas = "myCanvas" >
</script>
<canvas id="myCanvas" resize></canvas>
paperScript代码(myScript.js):
// Create a Paper.js Path to draw a line into it:
var path = new Path();
// Give the stroke a color
path.strokeColor = 'black';
var start = new Point(100, 100);
// Move to start and draw a line from there
path.moveTo(start);
// Note the plus operator on Point objects.
// PaperScript does that for us, and much more!
path.lineTo(start + [ 100, -50 ]);
我在 Whosebug 上发现了一个旧的 link,它说使用版本 0.9.10 可以解决这个问题。但是这个问题在新版本中还没有解决吗? 这是 link:
How to use paperscript from external source?
根据此处的信息,我唯一的猜测是您正在加载 paper-core.js
,而不是 paper-full.js
。 paperscript 未在 paper-core.js
.
如果它是 paper-core.js
的行为将是您的代码永远不会被调用,因为没有什么可以解释 paperscript。
这不是 paperJs 问题。在这里,我试图从本地文件系统加载资源,chrome 不允许(违反其同源策略),因此我们需要一个本地 Web 服务器。Why?
可以使用 WAMP(在 Windows 上)、MAMP(在 OS X 上)、LAMP(对于 ubuntu)设置本地 Web 服务器。它也可以通过 Python http-server 和 NodeJS http-server 来设置。
实际上我通过 Udemy 的另一个学生找到了解决方案 -Git link here。转到 paper-full.js(它仅适用于下载的版本,不适用于 CDN)并转换行
xhr.open((options.method || 'get').toUpperCase(), options.url,
Base.pick(options.async, true));
成才
xhr.open((options.method || 'get').toUpperCase(), options.url);
我知道这不能用于普通网站,因为它违反了安全协议,所以它只是为了练习。根据 Paperjs,异步方法是可选的。顺便说一句,对我来说它适用于 Firefox,但不适用于 Chrome.