如果我使用这个:

$(document).ready(function() {
    pjs = Processing.getInstanceById("EyeCanvas");
    console.log(pjs);
}

那么 pjs 总是未定义的

当我使用这个时:
function test() {
    pjs = Processing.getInstanceById("EyeCanvas");
    console.log(pjs);
}

并用一个按钮触发 test() 然后 pjs = D.Processing,它应该是。

我按以下顺序加载脚本:
    <script type="text/javascript" src="processing-1.3.6.min.js"></script>
    <script type="text/javascript" src="jquery1-7-1.js"></script>
    <script type="text/javascript" src="script.js"></script>

我如何在没有人按下按钮的情况下使用 pjs?

最佳答案

请尝试这个 - 只是为了看看它是否是一个时间问题 - 也请注意交换的脚本:

<script type="text/javascript" src="jquery1-7-1.js"></script>
<script type="text/javascript" src="processing-1.3.6.min.js"></script>
<script type="text/javascript" src="script.js"></script>

var tId,pjs,cnt=0;
$(document).ready(function() {
  tId=setInterval(function() {
    pjs = Processing.getInstanceById("EyeCanvas");
    console.log(cnt+':'+pjs);
    if (pjs) clearInterval(tId);
  },500);
});

这说明了什么?
var tId,pjs,cnt=0;
$(document).ready(function() {
  pjs = Processing.getInstanceById("EyeCanvas");
  console.log(cnt+':'+pjs);
  if (!pjs) tId=setInterval(function() {
    pjs = Processing.getInstanceById("EyeCanvas");
    console.log(cnt+':'+pjs);
    if (pjs) clearInterval(tId);
  },500);
});

10-05 21:02