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

  • 相关阅读:
    接口测试工具postman学习
    接口测试工具jmeter压力测试
    WSGI规范
    ADB命令详解
    eclipse导入远端git
    os.system、os.popen和subprocess.popen的区别
    获取Android当前运行最顶层的activity
    python+appuim 处理系统权限弹窗
    Appium之xpath定位元素
    Charles配置抓取HTTPS请求的Android配置
  • 原文地址:https://www.cnblogs.com/chencidi/p/1761947.html
Copyright © 2011-2022 走看看