我正在尝试使用embed标签将简单的Quartz Composition嵌入到网页中。根据Apple的documentation和API 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]不是函数。
有没有人通过这个或有关于我如何能够调试它的建议?
由于
答案 0 :(得分:1)
您是否尝试过明显的构图[0] .loaded()?
jQuery $函数返回一个与您的选择匹配的DOM元素数组,即使只有一个元素匹配。