在url中的querystring中传递字母数字值在flash中不起作用

passing alphanumeric value in querystring in url does not work in flash

本文关键字:数字 不起作用 flash url 中的 querystring      更新时间:2023-09-26

我有一个flash应用程序,我想通过defaul.aspx页面的javascript向它发送参数。

我有一个名为Id的参数,它可以接受字母数字值。

如果我只为Id输入数字,url中的查询字符串可以正常工作,并将我带到与该Id相关的特定页面,但如果我输入数字和字符的组合(如001A),则不起作用。

这是我使用的代码

<script type="text/javascript">
    function getQueryVariable(variable) 
    {
        var query = window.location.search.substring(1);  
        var vars = query.split("&");  
        for (var i=0; i<vars.length; i++) 
        {    
            var pair = vars[i].split("="); 
            if (pair[0] == variable)
                return (pair[1]);
        }
    }
    </script>  

然后后来我给它分配了flash应用程序的第一页

flashvars.StartPage = getQueryVariable("Id"); 

然后将flashvars传递到swfobject.embedSWF 中

我也不想在闪存侧中更改mxml文件中的任何内容

如果有人能帮我出了什么问题,我将不胜感激

感谢

不需要使用JavaScript处理querystring中的值,然后发送到flash。

只需使用ExternalInterface.call函数从URL获取变量(在本例中为GET)。

以下是它的工作原理代码。将此代码添加到MXML中。

var pageURL : String = ExternalInterface.call("window.location.href.toString");
var paramPairs : Array = pageURL.split("?")[1].split("&");
                for each (var pair : String in paramPairs)
                {
                    var pairHolderx:Array = pair.split("=");
                    arrVals[counter]=pairHolderx[1];
                    counter++;
                }

因此,如果您的URL如下http://www.stackoverflow.com/page.aspx?id=230A78&id2=8934arrVals[0]包含230A78,arrVals[1]包含8934