我是这个论坛的菜鸟和javascript的菜鸟,但我知道as3的公平份额。
所以swiffy并不支持输入文本字段。我认为解决方法是从swiffy对象调用javascript函数(我可以使用callExternalInterface),它将HTML输入文本字段加载到我的swiffy对象上方的iFrame或更高z-index层上的div确切地说它看起来像是它的所有部分,但遗憾的是我的javascript知识还处于起步阶段。
我一直在努力,做研究,尝试不同的事情,现在五六个小时,我尝试的一切都不起作用。我正在加载一个定义文本字段的外部HTML文件,到目前为止我已经有了一些东西需要加载,但它很奇怪,虽然它现在显示在正确的位置,但它&# 39;休息'网站的布局,并显示在一个小盒子里,告诉我我需要一个插件来做到这一点。
这就是我现在所拥有的,它是可怜的,甚至根本不起作用..(load_email是从我的flash文件调用的javascript函数)
function load_email(){
document.getElementById("swiffycontainer").innerHTML='<object type="type/html" id="email.html" </object>'
placeDiv();
console.info("email0");
}
function placeDiv(x_pos, y_pos) {
var d = document.getElementById('email.html');
console.info("boo");
d.style.position = "relative";
d.style.left = 292+'px';
d.style.top = 380+'px';
d.style.zIndex =2000;
console.info("boo2");
}
可悲,不是。
请帮帮忙?
回答我自己的问题:
事实证明,这比我想要的要简单得多。
我在巴基斯坦的朋友通过Skype帮助我,这就是如何通过javascript将输入的文本字段输入到你的swiffy中,从那里应该可以拼凑一些电子邮件:
您不需要加载任何外部html文件,只需删除该部分即可。然后将load_email函数更改为以下内容:
function load_email() {
var inputFieldName = document.createElement("input");
inputFieldName.type="text";
inputFieldName.style.position = "absolute";
inputFieldName.style.left = "292px";
inputFieldName.style.top = "370px";
inputFieldName.style.zIndex = 2000;
swiffycontainer.appendChild(inputFieldName);
}
的Bam。很高兴。
答案 0 :(得分:-1)
Thanx到你的anwser并使用你发布的代码我在actionscript 2中为flash文件做了另一个工作演示,在swiffy和javascript(in和out)之间交换数据。
以下是步骤:
1)关键是使用 javascript 中的这一行将值发送到swiffy对象:
function sendValue(){ myvalue的= inputFieldName.value; stage.setFlashVars( 'myMessageFromTextfield =' + myvalue的); }
2)然后,在fla文件中,在 actionscript2 中,获取值:
getValue = function(){ if(_level0.myMessageFromTextfield ==“undefined”|| _level0.myMessageFromTextfield == undefined){ this.cat.animCat.myText.text =“”; } else { this.cat.animCat.myText.text = _level0.myMessageFromTextfield; returnButton._visible = true; } }
3)我们需要不断监控te数据何时出现,因此请使用setInterval:
myInterval = setInterval(this,“getValue”,100);
4)现在,要将值发送回html文件,我们使用附带数据的getURL:
returnButton.onRelease = function(){ getURL(“Javascript:showMessage('”_ _ level0.myMessageFromTextfield +“表示猫');”); }
5)最后,再次在html中的 javascript 中,我们使用参数执行该函数:
function showMessage(message){ 警报(消息); }
它在IE,Firefox,Chrome,safari(ios)中完美运行。
现在我们可以在ipad或iphone中发送文字了。
我在下一个链接中附加了源文件: