快速输入文本框的解决方案

swiffy input textfield workaround

本文关键字:解决方案 文本 输入      更新时间:2023-09-26

我是这个论坛的新手,也是javascript的新手,但我知道as3的相当一部分。

所以swiffy不支持输入文本域。我认为,一个解决办法是调用javascript函数从swiffy对象(我可以使用callExternalInterface),它会加载一个HTML输入文本字段到iFrame或div在我的swiffy对象之上的更高的z-index层,定位准确,所以它看起来像它的所有部分的swiffy对象,但遗憾的是,我的javascript知识是在它的婴儿期。

我一直在做,做研究,尝试不同的东西,到现在已经有五六个小时了,但我所做的一切都不起作用。我正在加载一个定义文本字段的外部HTML文件,到目前为止我已经加载了一些东西,但是它很奇怪,虽然它现在显示在正确的位置,但它"破坏"了网站的布局,并显示在一个小框中,告诉我我需要一个插件来做这件事。

这就是我现在拥有的,它很可怜,甚至根本不起作用。(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获得输入文本字段到你的快速,从那里应该有可能拼凑一些电子邮件:

你不需要加载任何外部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。

感谢您的回答和使用您发布的代码,我在actionscript 2中为flash文件做了另一个工作演示,以交换swiffy和javascript之间的数据(进出)。

步骤如下:

关键是通过javascript: 中的这一行将值发送给swiffy对象。

函数sendValue() {myValue = inputFieldName.value;stage.setFlashVars (' myMessageFromTextfield = ' + myValue);}

2)然后,在fla文件中,在actionscript2中,获得值:

getValue = function() {如果(_level0。myMessageFromTextfield == "undefined" || _level0。myMessageFromTextfield == undefined) {this.cat.animCat.myText.text = ";} else {this.cat.animCat.myText.text = _level0.myMessageFromTextfield;returnButton。_visible = true;}}

3)我们需要持续监控数据出现的时间,所以使用setInterval:

myInterval = setInterval(this, "getValue", 100);

现在,为了将值发送回html文件,我们使用getURL和附加的数据:

returnButton。onRelease = function() {getURL("Javascript: showMessage("+ _level0。myMessageFromTextfield+"说猫");}

5)最后,在javascript中,我们在html中执行带有参数的函数:

showMessage(message) {警报(消息);}

它在IE, Firefox, Chrome, safari (ios)中完美运行。

现在我们可以在ipad或iphone中发送文本了

我在下一个链接中附加了源文件:

https://onedrive.live.com/redir?resid=E64343A7ADE7D670 ! 1401, authkey = ! AO86aUEdyZRqQN4& ithint =文件% 2 czip