让Quartz Composition在浏览器中与JavaScript交互的问题

时间:2011-03-15 19:55:51

标签: javascript safari webkit embed quartz-graphics

我正在尝试使用embed标签将简单的Quartz Composition嵌入到网页中。根据Apple的documentationAPI reference,这应该是一个非常简单的任务,但是在JavaScript中选择嵌入对象不会暴露API。

这是我的页面:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Quartz Test</title>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<div id="main">
    <h1>Quartz Test</h1>
    <hr/>
    <div id="content">
        <embed type="application/x-quartzcomposer"
        src="lineTest.qtz"
        id="myComp"
        width="300px"
        height="150px"
        opaque="false"/>
    </div>
</div>
</body>
</html>

这是我的js:

var composition;

$(document).ready(function() {
    composition = $('#myComposiiton');
});

通过这种简单的设置,我应该可以编写类似......

的内容
composition.loaded() //should be true

composition.inputKeys() //should return Array

相反,我得到的只是调试器中的错误,如 TypeError:表达式的结果'composition.loaded'[undefined]不是函数

有没有人通过这个或有关于我如何能够调试它的建议?

由于

1 个答案:

答案 0 :(得分:1)

您是否尝试过明显的构图[0] .loaded()?

jQuery $函数返回一个与您的选择匹配的DOM元素数组,即使只有一个元素匹配。