zoukankan      html  css  js  c++  java
  • wap开发常见问题1

    最近要做一个与联通的WAP接口
    我选择用ASP.NET开发,ASP.NET开发WAP站点,实在简单,就是一个移动控件的运用,根本不用懂WML语法.唯一不同的,就是一个ASPX文件可以支持多个FORM,不同FORM之间可以切换,
    最后ASP.NET根据访问的设备,输出不同的内容,
    如果用IE访问就输出HTML,手机访问,输出WML,
    不过在开发过程中也遇到了很多问题,一些问题总结如下:
    1.模拟器选择:
        WINWAP,
        M3Gate,
        UP.SDK4.0,(推荐)
        OPenWave 5.0 (测试时需要),
        OPenWave6.2, (IIS 6.0应用,IIS5.0可能显示,但会有问题)
        CheckCom WAPBrowser 3.2
    模拟器问题:
        ASP.NET把一些常有的模拟器,的配制信息用正则表达式写在Machine.config里
        在上述的模拟器中,我只有UP.SDK4.0,OPenWave 5.0,
    他们只是一个公司的产品:
        需要下载,配制文件驱动更新:现在最新版本是:Device 4下载请到这里下载:
    http://www.microsoft.com/downloads/details.aspx?FamilyId=02FA15FE-40D9-4DCE-9BB1-4DD61A5B7CCB&displaylang=en
    但是,即使驱动更新以后,还是一些设备不能访问:
    这时需要强制输出WML:
    在web.config
    添加下面内容<system.web>下

    <browserCaps>
                
    <result type="System.Web.Mobile.MobileCapabilities, System.Web.Mobile, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
                
    <use var="HTTP_USER_AGENT"/>
                        preferredRenderingType = "wml11"
                        preferredRenderingMime = "text/vnd.wap.wml"
                        preferredImageMime = "image/vnd.wap.wbmp"
    </browserCaps>


    如果定义相关其它属性可以完整的移动设置属性:

        <browserCaps>
                
    <result type="System.Web.Mobile.MobileCapabilities, System.Web.Mobile, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
                
    <use var="HTTP_USER_AGENT"/>

                browser=Unknown
                version=0.0
                majorversion=0
                minorversion=0
                frames=false
                tables=false
                cookies=false
                backgroundsounds=false
                vbscript=false
                javascript=false
                javaapplets=false
                activexcontrols=false
                win16=false
                win32=false
                beta=false
                ak=false
                sk=false
                aol=false
                crawler=false
                cdf=false
                gold=false
                authenticodeupdate=false
                tagwriter=System.Web.UI.Html32TextWriter
                ecmascriptversion=0.0
                msdomversion=0.0
                w3cdomversion=0.0
                platform=Unknown
                css1=false
                css2=false
                xml=false

                mobileDeviceManufacturer = "Unknown"
                mobileDeviceModel = "Unknown"

                gatewayVersion = "None"
                gatewayMajorVersion = "0"
                gatewayMinorVersion = "0"

               preferredRenderingType = "wml11"
               preferredRenderingMime = "text/vnd.wap.wml"
               preferredImageMime = "image/vnd.wap.wbmp"

                defaultScreenCharactersWidth = "12"
                defaultScreenCharactersHeight = "6"
                defaultScreenPixelsWidth = "96"
                defaultScreenPixelsHeight = "72"
                defaultCharacterWidth = "8"
                defaultCharacterHeight = "12"
                screenBitDepth = "1"
                isColor = "false"
                inputType = "telephoneKeypad"

                numberOfSoftkeys = "0"
                maximumSoftkeyLabelLength = "5"

                canInitiateVoiceCall = "false"

                canSendMail = "true"
                hasBackButton = "true"
                rendersWmlDoAcceptsInline = "true"
                rendersWmlSelectsAsMenuCards = "true"
                rendersBreaksAfterWmlAnchor = "false"
                rendersBreaksAfterWmlInput = "false"
                rendersBreakBeforeWmlSelectAndInput = "true"
                requiresAttributeColonSubstitution = "true"
                requiresPhoneNumbersAsPlainText = "false"
                requiresUrlEncodedPostfieldValues = "false"
                requiredMetaTagNameValue = ""
                rendersBreaksAfterHtmlLists = "true"
                requiresUniqueHtmlCheckboxNames = "true"
                requiresUniqueHtmlInputNames = "true"
                requiresUniqueFilePathSuffix = "true"
                supportsCss = "false"
                hidesRightAlignedMultiselectScrollbars = "false"
                canRenderAfterInputOrSelectElement = "true"
                canRenderInputAndSelectElementsTogether = "true"
                canRenderOneventAndPrevElementsTogether = "true"
                canCombineFormsInDeck = "true"
                canRenderMixedSelects = "true"
                canRenderPostBackCards = "true"
                canRenderSetvarZeroWithMultiSelectionList = "true"
                supportsImageSubmit = "true"
                supportsSelectMultiple = "true"
                requiresHtmlAdaptiveErrorReporting = "false"
                requiresContentTypeMetaTag = "false"
                requiresDBCSCharacter = "false"
                requiresOutputOptimization = "false"
                supportsAccesskeyAttribute = "false"
                supportsInputIStyle = "false"
                supportsInputMode = "false"
                supportsIModeSymbols = "false"
                supportsJPhoneSymbols = "false"
                supportsJPhoneMultiMediaAttributes = "false"
                maximumRenderedPageSize = "2000"
                requiresSpecialViewStateEncoding = "false"
                requiresNoBreakInFormatting = "false"
                requiresLeadingPageBreak = "false"
                supportsQueryStringInFormAction = "true"
                supportsCacheControlMetaTag = "true"
                supportsUncheck = "true"
                canRenderEmptySelects = "true"
                supportsRedirectWithCookie = "true"
                supportsEmptyStringInCookieValue = "true"
                cachesAllResponsesWithExpires = "false"
                requiresNoSoftkeyLabels = "false"
                defaultSubmitButtonLimit = "1"
                
                supportsBold = "false"
                supportsItalic = "false"
                supportsFontSize = "false"
                supportsFontName = "false"
                supportsFontColor = "true"
                supportsBodyColor = "true"
                supportsDivAlign = "true"
                supportsDivNoWrap = "false"
                supportsCharacterEntityEncoding = "true"

                isMobileDevice="false"
    </browserCaps>


    具体属性的意思可以考试MSDN:设备功能列表
    ms-help://MS.MSDNQTR.2003FEB.2052/mwsdk/html/mwlrfDeviceCapabilitiesTable.htm

    2.链接:
     在同一个aspx文件,使用Link控件的,#FORM来切换不同Form时在 OPenWave 5.0测试会出现错误!
    建议在程序通过ActiveForm来做
    3.乱码:
        如果在开发过程出现乱码,通过修改Web.Config
        <globalization
                requestEncoding="gb2312"
                responseEncoding="gb2312"
        />
    4.取消移动设备缓存:

      Page.Response.Expires = -1;
       Response.CacheControl 
    = "Public";


    5.重定向
    重定向通过
    RedirectToMobilePage函数
    不过使用过程中可能会出现一些问题
    建议用Link控件来代替

       一些开发资料:
    http://msdn.microsoft.com/mobility/downloads/sdks/default.aspx

    http://www.dotnet247.com/247reference/__site/72

    http://www.wapease.com

    http://www.sp-forum.org/download/list.asp?type=14

    http://www2.chn.monternet.com:8080/devdownload/DevWapSimulator.jsp

    http://www.tech-archive.net/Archive/DotNet/microsoft.public.dotnet.framework.aspnet.mobile/

       

    引用:http://www.cnblogs.com/edobnet/archive/2004/11/26/69138.html

  • 相关阅读:
    SPOJ GSS4 Can you answer these queries IV ——树状数组 并查集
    SPOJ GSS3 Can you answer these queries III ——线段树
    SPOJ GSS2 Can you answer these queries II ——线段树
    SPOJ GSS1 Can you answer these queries I ——线段树
    BZOJ 2178 圆的面积并 ——Simpson积分
    SPOJ CIRU The area of the union of circles ——Simpson积分
    HDU 1724 Ellipse ——Simpson积分
    HDU 1071 The area ——微积分
    HDU 4609 3-idiots ——FFT
    BZOJ 2194 快速傅立叶之二 ——FFT
  • 原文地址:https://www.cnblogs.com/chencidi/p/1761947.html
Copyright © 2011-2022 走看看