Browser 如何动态设置";src";用于浏览器或iframe元素(Firefox扩展)
我正在尝试创建一个使用flex应用程序的Firefox扩展。我试着用XUL类型(和)来包装它,但我不喜欢使用哪种类型。。。不管哪个有效 问题是,每当我使用相对路径(通过chrome://或mySWF.html访问)时,flash都无法加载 我有一个搜索绝对路径的方法(如下所示),但我一辈子都想不出一个方法来动态更改iframe或浏览器的srcBrowser 如何动态设置";src";用于浏览器或iframe元素(Firefox扩展),browser,iframe,firefox-addon,xul,src,Browser,Iframe,Firefox Addon,Xul,Src,我正在尝试创建一个使用flex应用程序的Firefox扩展。我试着用XUL类型(和)来包装它,但我不喜欢使用哪种类型。。。不管哪个有效 问题是,每当我使用相对路径(通过chrome://或mySWF.html访问)时,flash都无法加载 我有一个搜索绝对路径的方法(如下所示),但我一辈子都想不出一个方法来动态更改iframe或浏览器的src <script type="text/javascript"> function loadSWF() { alert("loadSWF
<script type="text/javascript">
function loadSWF() {
alert("loadSWF!");
var fullPath = "file:///" + extensionPath.path.replace(/\\/g,"/") + "/chrome/content/HelloWorld.html";
top.document.getElementById('AppFrame').setAttribute("src",fullPath);
}
</script>
函数loadSWF(){
警报(“loadSWF!”);
var fullPath=“file:///”+extensionPath.path.replace(/\\\/g,“/”+“/chrome/content/HelloWorld.html”;
top.document.getElementById('AppFrame').setAttribute(“src”,完整路径);
}
下面是我调用flex应用程序的两种方法:
<iframe
type="content"
src=??????
flex="1"
id="AppFrame"
name="AppFrame"
onLoad="loadSWF();"/>
<browser
id="browserid"
type="content"
src=??????
flex="1"/>
如何调用函数来设置src属性?1)动态设置src
效果良好(请参见下面的测试用例)
2) 而不是试图用手转换
3) onLoad=“loadSWF();”
如果您的iframe可疑,您应该发布完整的XUL代码,以显示它是如何组合在一起的。您不应该从iframe的加载处理程序调用loadSWF,而应该从XUL文档的加载处理程序或关闭另一个事件调用loadSWF
#1的测试用例:
听起来您可能没有正确设置chrome清单。
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="yourwindow" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:html="http://www.w3.org/1999/xhtml">
<script type="text/javascript">
<![CDATA[
function f() {
document.getElementById("z").setAttribute("src", "http://google.com/")
}
]]>
</script>
<iframe type="content" id="z"/>
<button onclick="f()"/>
</window>