精华内容
下载资源
问答
  • 微信浏览器禁止app下载链接怎么办

    千次阅读 2016-03-16 11:54:52
    微信浏览器禁止app下载链接怎么办 micromessenger

    通过扫描二维码下载APP已成为一个非常方便的方式,微信也成为扫描二维码重要的工具,但是扫描后微信浏览器会对APK和appStore的链接进行屏蔽,导致用户无法正常下载。本文提供两个迂回的解决方案:1.使用腾讯应用宝;2.提示用户使用浏览器打开。

    第1种方法不用介绍了,把APP提交给腾讯应用宝即可,需要等待腾讯的审批,审批条件比较苛刻,腾讯采用分级审批方式,如果你是高级开发者,可以不审批先上线,如果是低级开发者,那么辛苦地等待吧。通过之后,会生成一个下载页面,该页面同时还能够跳转到appStore,前提是先录入appStore的相关信息。
    第2种方法思路:
    制作一个app下载页 app-index.html,逻辑如下:

    如果,是weixin浏览器:
    如果,是iphone 或者 ipad:
    则显示“使用Safari打开”
    否则
    显示“使用浏览器打开”
    否则:
    显示下载页面

    测试样例,扫描下面二维码:
    2139579851

    效果如下:
    IMG_0168(0)

    IMG_0169(0)

    IMG_0170(1)

    下面将js实现部分代码列举,也可通过查看源代码了解细节。

    function is_weixin(){
        var ua = navigator.userAgent.toLowerCase();
        if(ua.match(/MicroMessenger/i)=="micromessenger") {
            return true;
        } else {
            return false;
        }
    }
     
    var browser={
        versions:function(){
          var u = navigator.userAgent, app = navigator.appVersion;
            return {
              trident: u.indexOf('Trident') > -1,
              presto: u.indexOf('Presto') > -1,
              webKit: u.indexOf('AppleWebKit') > -1,
              gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,
              mobile: !!u.match(/AppleWebKit.*Mobile.*/),
              ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),
              android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1,
              iPhone: u.indexOf('iPhone') > -1 ,
              iPad: u.indexOf('iPad') > -1,
              webApp: u.indexOf('Safari') == -1
           }
        }(),
        language:(navigator.browserLanguage || navigator.language).toLowerCase()
    };
     
    function init(){
        if(is_weixin()){
            //weixin为提示使用浏览器打开的div
            document.getElementById("weixin").style.display="block";
            if(browser.versions.ios || browser.versions.iPhone || browser.versions.iPad){
                document.getElementById("step2").innerHTML="2. 在Safari中打开";
            }else{
                document.getElementById("step2").innerHTML="2. 在浏览器中打开";
            }
        }else{
            //下载页div
            document.getElementById("main").style.display="block";
        }
    }
    init();

    ——————————————–
    本站除标注[FW]和资讯文章外都为原创文章,转载请注:
    转载来源: Coming X

    原文链接: 微信浏览器禁止app下载链接怎么办




    展开全文
  • 一直没有找到自定义浏览器的方法,经老马推荐,找到了L-E浏览器的源码,啃了一星期,终于提取出了一份可用的代码.源码改自L-E浏览器.感谢作者.实现原理参考了COM原理与应用.另外关于代码中的...

    一直没有找到自定义浏览器的方法,经老马推荐,找到了L-E浏览器的源码,啃了一星期,终于提取出了一份可用的代码.源码改自L-E浏览器.感谢作者.实现原理参考了COM原理与应用.另外关于代码中的OnAmbientPropertyChange -5512相信很多人会有疑问.请参照此帖[http://topic.csdn.net/u/20101117/17/b465d207-cb59-4111-bcda-5bdf3ca7f710.html].感谢hpygzhx520.

    源码下载:http://lib.ldong.net/webbrowser.rar

     

    需要有olelb.tbl(必需)和olelib2.tbl(可选)

    以下是cWebbrowser的代码

    Option Explicit

    Implements olelib.IOleClientSite

    Implements olelib2.IOleInPlaceSite

     

    Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long

    Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

    'Private Declare Function GetClientRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long

     

    Private Const GWL_USERDATA = (-21)

    Private m_oWebBrowser As SHDocVw.Webbrowser                 ' WebBrowser control

    Public Enum HostFlags

     

       ' MSHTML will not allow selection

       ' of the text in the form.

       hfDialog = DOCHOSTUIFLAG_DIALOG

     

       ' MSHTML will not add the Help menu

       ' item to the container's menu.

       hfDisableHelpMenu = DOCHOSTUIFLAG_DISABLE_HELP_MENU

     

       ' MSHTML does not use 3-D borders.

       hfNo3DBorder = DOCHOSTUIFLAG_NO3DBORDER

     

       ' MSHTML does not have scroll bars.

       hfNoScroll = DOCHOSTUIFLAG_SCROLL_NO

     

       ' MSHTML will not execute any

       ' script when loading pages.

       hfDisableScripInactive = DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE

     

       ' MSHTML will open a site in

       ' a new window when a link is

       ' clicked rather than browse to

       ' the new site using the same

       ' browser window.

       hfBrowseNew = DOCHOSTUIFLAG_OPENNEWUI

     

       ' Not implemented.

       hfDisableOffScreen = DOCHOSTUIFLAG_DISABLE_OFFSCREEN

     

       ' MSHTML will use flat scroll bars

       ' for any UI it displays.

       hfFlatScroll = DOCHOSTUIFLAG_FLAT_SCROLLBAR

     

       ' MSHTML will insert the <DIV> tag

       ' if a return is entered in edit mode.

       ' Without this flag, MSHTML will use

       ' the <P> tag.

       hfDivBlock = DOCHOSTUIFLAG_DIV_BLOCKDEFAULT

     

       ' MSHTML will only become UI active

       ' if the mouse is clicked in the

       ' client area of the window. It will

       ' not become UI active if the mouse

       ' is clicked on a nonclient area, such

       ' as a scroll bar.

       hfActiveClientHit = DOCHOSTUIFLAG_ACTIVATE_CLIENTHIT_ONLY

     

       ' MSHTML will consult the host

       ' before retrieving a behavior

       ' from the URL specified on the page.

       hfOverrideBehaviorFactory = DOCHOSTUIFLAG_OVERRIDEBEHAVIORFACTORY

     

       ' This flag was added to Microsoft(r)

       ' Internet Explorer 5 to provide font

       ' selection compatibility for Microsoft(r)

       ' Outlook(r) Express. If the flag is enabled,

       ' the displayed characters are inspected

       ' to determine whether the current font

       ' supports the code page. If disabled, the

       ' current font is used, even if it does

       ' not contain a glyph for the character.

       ' Note This flag assumes that the user is

       ' using Internet Explorer 5 and Outlook

       ' Express 4.0.

       hfCodePageLinkedFonts = DOCHOSTUIFLAG_CODEPAGELINKEDFONTS

     

       ' This flag was added to Internet Explorer

       ' 5 to control how nonnative URLs are

       ' transmitted over the Internet. Nonnative

       ' refers to characters outside the

       ' multibyte encoding of the URL. If this

       ' flag is set, the URL is not submitted

       ' to the server in UTF-8 encoding.

       hfDisableUTF8 = DOCHOSTUIFLAG_URL_ENCODING_DISABLE_UTF8

     

       ' This flag was added to Internet Explorer

       ' 5 to control how nonnative URLs are

       ' transmitted over the Internet. Nonnative

       ' refers to characters outside the

       ' multibyte encoding of the URL. If this

       ' flag is set, the URL is submitted

       ' to the server in UTF-8 encoding.

       hfEnableUTF8 = DOCHOSTUIFLAG_URL_ENCODING_ENABLE_UTF8

     

       ' This flag enables the AutoComplete

       ' feature for forms in the hosted

       ' browser. The Intelliforms feature will

       ' only be turned on if the user has

       ' previously enabled it. If the user has

       ' turned the AutoComplete feature off

       ' for forms, it will be off whether

       ' this flag is specified or not.

       hfEnableFormAutocomplete = DOCHOSTUIFLAG_ENABLE_FORMS_AUTOCOMPLETE

     

       ' This flag enables the host to specify

       ' that navigation should happen in place.

       ' This means that applications hosting

       ' MSHTML directly can specify that

       ' navigation happen in the application's

       ' window. For instance, if this flag is

       ' set, you can click a link in HTML mail

       ' and navigate in the mail instead of

       ' opening a new Internet Explorer window.

       hfInPlaceNavigation = DOCHOSTUIFLAG_ENABLE_INPLACE_NAVIGATION

     

       ' During initialization, the host can set

       ' this flag to enable input method editor

       ' (IME) reconversion, allowing computer

       ' users to employ IME reconversion while

       ' browsing Web pages. An input method

       ' editor is a program that allows users to

       ' enter complex characters and symbols,

       ' such as Japanese Kanji characters, using

       ' a standard keyboard. For more information,

       ' see the International Features reference

       ' in the Base Services section of the

       ' Platform SDK.

       hfEnableIME = DOCHOSTUIFLAG_IME_ENABLE_RECONVERSION

     

       'Internet Explorer 6 or later.

       'Specifies that the hosted browser should use themes for pages it displays.

       'hfTheme= DOCHOSTUIFLAG_THEME = 0x00040000

       hfTheme = &H40000

     

       hfDefault = hfEnableFormAutocomplete Or hfEnableIME Or hfTheme

    End Enum

     

    Public Enum DownloadCtrlFlags

       DLCTL_DLIMAGES = &H10&

       DLCTL_VIDEOS = &H20&

       DLCTL_BGSOUNDS = &H40&

       DLCTL_NO_SCRIPTS = &H80&

       DLCTL_NO_JAVA = &H100&

       DLCTL_NO_RUNACTIVEXCTLS = &H200&

       DLCTL_NO_DLACTIVEXCTLS = &H400&

       DLCTL_DOWNLOADONLY = &H800&

       DLCTL_NO_FRAMEDOWNLOAD = &H1000&

       DLCTL_RESYNCHRONIZE = &H2000&

       DLCTL_PRAGMA_NO_CACHE = &H4000&

       DLCTL_NO_BEHAVIORS = &H8000&

       DLCTL_NO_METACHARSET = &H10000

       DLCTL_URL_ENCODING_DISABLE_UTF8 = &H20000

       DLCTL_URL_ENCODING_ENABLE_UTF8 = &H40000

       DLCTL_FORCEOFFLINE = &H10000000

       DLCTL_NO_CLIENTPULL = &H20000000

       DLCTL_SILENT = &H40000000

       DLCTL_OFFLINE = &H80000000

       DLCTL_Default = DLCTL_BGSOUNDS Or DLCTL_DLIMAGES Or DLCTL_VIDEOS ' Or DLCTL_SILENT

    End Enum

    'ÏÂÔØ¿ØÖƱ¾µØ±äÁ¿

    Private mDownloadCtrl As Long 'DownloadCtrlFlags

    Private mDL_Image As Boolean

    Private mDL_BgSound As Boolean

    Private mDL_Video As Boolean

    Private mDL_Script As Boolean

    Private mDL_ActiveX As Boolean

    Private mDL_JavaApplet As Boolean

    Private mDl_DlActiveX  As Boolean

    Private vFrmWeb As Object

    Private Created As Boolean

     

    'Webbrowser Hwnd

    Private m_hOleWindow&

     

     

    '

    ' DownloadCtrl

    '

    ' Returns the download control flags. This property

    ' is called by the WB control to get the flags.

    '

    ' Be sure that the property ID is set to -5512.

    '

    Public Property Get DownloadCtrlEX() As DownloadCtrlFlags

     

       DownloadCtrlEX = mDownloadCtrl

     

    End Property

     

    Public Property Let DownloadCtrlEX(ByVal NewFlags As DownloadCtrlFlags)

    Dim oOC As olelib.IOleControl

     

       mDownloadCtrl = NewFlags

     

    If Created Then

       ' Get the WB IOleControl

       Set oOC = m_oWebBrowser

     

       ' Notify the WB control that

       ' the property was changed

       oOC.OnAmbientPropertyChange -5512

    End If

    End Property

     

    '

    Private Sub pvCreateWBControl(objWeb As SHDocVw.Webbrowser)

    Dim oOleObj As olelib.IOleObject

    Dim oUnk As olelib.IUnknown

    'Dim oFrame As IOleInPlaceFrame

    Dim oOC As olelib.IOleControl

    'Dim tMSG As olelib.MSG

    Dim tRect As olelib.RECT

    Dim tOle As olelib.IOleWindow

       ' Create the WebBrowser control

       'CoCreateInstance CLSID_WebBrowser, Nothing, CLSCTX_INPROC_SERVER, IID_IUnknown, oUnk

     

     

       ' Get the WebBrowser interface

      Set m_oWebBrowser = objWeb ' oUnk

     

       'Set oUnk = Nothing

     

     

     

       ' Get the IOleObject interface

       Set oOleObj = m_oWebBrowser

     

       ' Set the client site

       oOleObj.SetClientSite Me

     

        Set tOle = m_oWebBrowser

        m_hOleWindow = tOle.GetWindow()

       ' Call GetClientRect(m_hOleWindow, tRect)

       ' Debug.Print tRect.Left, tRect.Right

       ' Activate the document

      'Debug.Print vFrmWeb.hwnd, frmBrowser.Picture1.hwnd, frmBrowser.hwnd, vFrmWeb.Picture1.hwnd

      ' SetParent m_hOleWindow, vFrmWeb.Picture1.hwnd

       oOleObj.DoVerb OLEIVERB_INPLACEACTIVATE, 0, Me, 0, vFrmWeb.hWnd, tRect

     

     

    Created = True

       ' Force the WB control to get the

       ' UA and download control properties

       Set oOC = oOleObj

      oOC.OnAmbientPropertyChange -5513

       oOC.OnAmbientPropertyChange -5512

     

     

     

     

     

    'save webbrowser obj ptr into the 32-bit value associated with the window

     

    SetWindowLong m_hOleWindow, GWL_USERDATA, ObjPtr(m_oWebBrowser)

     

    Set oOleObj = Nothing

    Set oUnk = Nothing

    Set oOC = Nothing

    End Sub

    Public Property Get hWnd() As Long

        hWnd = m_hOleWindow

    End Property

    '---------------------------------------------------------------------------------------

    ' Procedure : pvUnloadWBControl

    ' DateTime  : 2006-10-19 20:31

    ' Author    : lingll

    ' email     : lingll_xl@163.com

    ' Purpose   : release the reference of WBControl and  unload it

    '---------------------------------------------------------------------------------------

     

    Public Function pvReleaseWBControl() As Boolean

    Dim oOleObj As olelib.IOleObject

     

    If Created Then

        Set oOleObj = m_oWebBrowser

     

        Set m_oWebBrowser = Nothing

        'oOleObj.SetClientSite Nothing

        oOleObj.Close OLECLOSE_NOSAVE

        oOleObj.SetClientSite Nothing

        Set oOleObj = Nothing

    End If

     

    Set vFrmWeb = Nothing

    End Function

     

     

     

     

    Private Sub Class_Initialize()

        Call IniVars

        IniDownloadControl

    End Sub

    Private Function IOleClientSite_GetContainer() As olelib.IOleContainer

    '   Err.Raise E_NOTIMPL

    Set IOleClientSite_GetContainer = vFrmWeb

    End Function

     

    Private Function IOleClientSite_GetMoniker(ByVal dwAssign As olelib.OLEGETMONIKER, ByVal dwWhichMoniker As olelib.OLEWHICHMK) As olelib.IMoniker

       Err.Raise E_NOTIMPL

    End Function

     

    Private Sub IOleClientSite_OnShowWindow(ByVal fShow As olelib.BOOL)

       Err.Raise E_NOTIMPL

    End Sub

     

    Private Sub IOleClientSite_RequestNewObjectLayout()

       Err.Raise E_NOTIMPL

    End Sub

     

    Private Sub IOleClientSite_SaveObject()

     

    End Sub

     

    Private Sub IOleClientSite_ShowObject()

       'Err.Raise E_NOTIMPL

    End Sub

     

     

     

    Private Sub IOleInPlaceSite_CanInPlaceActivate()

     

    End Sub

     

    Private Sub IOleInPlaceSite_ContextSensitiveHelp(ByVal fEnterMode As olelib.BOOL)

    End Sub

     

    Private Sub IOleInPlaceSite_DeactivateAndUndo()

    'debug.Print "IOleInPlaceSite_DeactivateAndUndo"

    End Sub

     

    Private Sub IOleInPlaceSite_DiscardUndoState()

    End Sub

     

    Private Function IOleInPlaceSite_GetWindow() As Long

       IOleInPlaceSite_GetWindow = vFrmWeb.hWnd

    End Function

     

    Private Sub IOleInPlaceSite_GetWindowContext(ppFrame As olelib.IOleInPlaceFrame, ppDoc As olelib.IOleInPlaceUIWindow, lprcPosRect As olelib.RECT, lprcClipRect As olelib.RECT, lpFrameInfo As olelib.OLEINPLACEFRAMEINFO)

     

        'Set ppFrame = vFrmWeb

     

       'if use "Set ppFrame = vFrmWeb" , the webbrowser will get hold up

       'all keyboard event, then we can find we cant use left or right key

       'on address bar

       'if no use "Set ppFrame = vFrmWeb" , we  should  send keys to

       'webbrowser manually ,  in mGetMessage.GetMsgProc

     

       Set ppDoc = Me

     

       lpFrameInfo.hwndFrame = vFrmWeb.hWnd

    End Sub

     

    Private Sub IOleInPlaceSite_OnInPlaceActivate()

        'Debug.Print "IOleInPlaceSite_OnInPlaceActivate"

    End Sub

     

    Private Sub IOleInPlaceSite_OnInPlaceDeactivate()

    'debug.Print "IOleInPlaceSite_OnInPlaceDeactivate"

    End Sub

     

    Private Sub IOleInPlaceSite_OnPosRectChange(lprcPosRect As olelib.RECT)

    End Sub

     

    Private Sub IOleInPlaceSite_OnUIActivate()

     

    End Sub

     

    Private Sub IOleInPlaceSite_OnUIDeactivate(ByVal fUndoable As olelib.BOOL)

    'debug.Print "IOleInPlaceSite_OnUIDeactivate", fUndoable

    End Sub

     

    Private Sub IOleInPlaceSite_Scroll(ByVal scrollX As Long, ByVal scrollY As Long)

    'Debug.Print "IOleInPlaceSite_Scroll"

    End Sub

    Public Sub ResizeWeb(X&, Y&, cx&, cy&, Optional useDefault As Boolean = False)

    Dim oOO As IOleInPlaceObject

    Dim tRect As olelib.RECT

     

       ' Get the IOleInPlaceObject interface

       Set oOO = m_oWebBrowser

     

       ' Resize the control

        If useDefault Then

            tRect.Right = vFrmWeb.ScaleWidth

            tRect.Bottom = vFrmWeb.ScaleHeight

        Else

            tRect.Left = X

            tRect.Top = Y

            tRect.Right = X + cx

            tRect.Bottom = Y + cy

     

        End If

        'SetParent m_hOleWindow, vFrmWeb.hwnd

       oOO.SetObjectRects tRect, tRect

     

    End Sub

     

    Public Sub INIAll(nfrm As Object, objWeb As SHDocVw.Webbrowser)

    'nfrm.ScaleMode = vbPixels

    Set vFrmWeb = nfrm

    Debug.Print nfrm.Name

        'If Not m_NewWinMan Is Nothing Then

            'm_NewWinMan.InitObj vFrmWeb

        'End If

     

        Call pvCreateWBControl(objWeb)

       ' Call ResizeWeb(0, 0, 0, 0, True)

    End Sub

    Public Property Get Webbrowser() As SHDocVw.Webbrowser

        'frmBrowser.ScaleMode = vbPixels

       'Set vFrmWeb = objWB.Parent

       'Debug.Print vFrmWeb.Name

       ' Call pvCreateWBControl(objWB)

     

        'Call ResizeWeb(objWB.Left, objWB.Top, objWB.Width, objWB.Height, False)

        Set Webbrowser = m_oWebBrowser

    End Property

    Private Sub IniVars()

    Created = False

    ' Initialize properties

        mDownloadCtrl = DLCTL_Default

        mDL_BgSound = False ' True

        mDL_Image = False ' gDL_Image 'True

        mDL_Script = True 'True

        mDL_Video = False 'True

        mDL_ActiveX = True ' True

        mDL_JavaApplet = False 'True

        mDl_DlActiveX = True

    End Sub

     

    '³õʼ»¯ÏÂÔØ¿ØÖÆ,»ñµÃmDownloadControl

    Private Sub IniDownloadControl()

     

        mDownloadCtrl = DLCTL_Default 'Or DLCTL_NO_DLACTIVEXCTLS  'Or DLCTL_SILENT

     

        If mDl_DlActiveX Then

        Else

            mDownloadCtrl = mDownloadCtrl Or DLCTL_NO_DLACTIVEXCTLS

        End If

     

        If mDL_Image Then

        Else

            mDownloadCtrl = mDownloadCtrl Xor DLCTL_DLIMAGES

        End If

     

        If mDL_BgSound Then

        Else

            mDownloadCtrl = mDownloadCtrl Xor DLCTL_BGSOUNDS

        End If

     

        If mDL_Video Then

        Else

            mDownloadCtrl = mDownloadCtrl Xor DLCTL_VIDEOS

        End If

     

     

        If Not mDL_Script Then

            mDownloadCtrl = mDownloadCtrl Or DLCTL_NO_SCRIPTS

        Else

     

        End If

     

        '======  ¸ÄÓÉ vCWebMe_ProcessAction ¿ØÖÆ  =======

        If Not mDL_ActiveX Then

            mDownloadCtrl = mDownloadCtrl Or DLCTL_NO_RUNACTIVEXCTLS

        Else

        End If

        '===============================================

     

        If Not mDL_JavaApplet Then

            mDownloadCtrl = mDownloadCtrl Or DLCTL_NO_JAVA

        Else

     

        End If

     

        Debug.Print mDownloadCtrl

    End Sub

     

    '==================================================

    '======== ÏÂÔØ¿ØÖÆ, ÔÊÐíÏÂÔصÄÊôÐÔ,ÈçͼƬ ===========

     

    'ͼƬ

    Public Property Get DL_Image() As Boolean

        DL_Image = mDL_Image

    End Property

     

    Public Property Let DL_Image(ByVal vNewValue As Boolean)

        mDL_Image = vNewValue

     

        Call IniDownloadControl

        DownloadCtrlEX = mDownloadCtrl

     

        m_oWebBrowser.Refresh2 1

    End Property

     

    '±³¾°ÒôÀÖ

    Public Property Get DL_BgSound() As Boolean

        DL_BgSound = mDL_BgSound

    End Property

     

    Public Property Let DL_BgSound(ByVal vNewValue As Boolean)

        mDL_BgSound = vNewValue

        Call IniDownloadControl

        DownloadCtrlEX = mDownloadCtrl

     

        m_oWebBrowser.Refresh2 1

    End Property

     

    'ÊÓƵ

    Public Property Get DL_Video() As Boolean

        DL_Video = mDL_Video

    End Property

     

    Public Property Let DL_Video(ByVal vNewValue As Boolean)

        mDL_Video = vNewValue

     

     

        Call IniDownloadControl

        DownloadCtrlEX = mDownloadCtrl

     

        m_oWebBrowser.Refresh2 1

    End Property

     

    '½Å±¾

    Public Property Get DL_Script() As Boolean

        DL_Script = mDL_Script

    End Property

     

    Public Property Let DL_Script(ByVal vNewValue As Boolean)

        mDL_Script = vNewValue

     

        Call IniDownloadControl

        DownloadCtrlEX = mDownloadCtrl

     

        m_oWebBrowser.Refresh2 1

    End Property

     

    'ÔËÐÐActiveX Control

    Public Property Get DL_ActiveX() As Boolean

        DL_ActiveX = mDL_ActiveX

    End Property

     

    Public Property Let DL_ActiveX(ByVal vNewValue As Boolean)

        mDL_ActiveX = vNewValue

     

        Call IniDownloadControl

        DownloadCtrlEX = mDownloadCtrl

        m_oWebBrowser.Refresh2 1

    End Property

     

    'ÔËÐÐJava Applet

    Public Property Get DL_JavaApplet() As Boolean

        DL_JavaApplet = mDL_JavaApplet

    End Property

     

    Public Property Let DL_JavaApplet(ByVal vNewValue As Boolean)

        mDL_JavaApplet = vNewValue

     

        Call IniDownloadControl

        DownloadCtrlEX = mDownloadCtrl

     

        m_oWebBrowser.Refresh2 1

    End Property

     

    'ÏÂÔØActiveX

    Public Property Get Dl_DlActiveX() As Boolean

        Dl_DlActiveX = mDl_DlActiveX

    End Property

    Public Property Let Dl_DlActiveX(ByVal vNewValue As Boolean)

        mDl_DlActiveX = vNewValue

        Call IniDownloadControl

        DownloadCtrlEX = mDownloadCtrl

        m_oWebBrowser.Refresh2 1

    End Property

     

    'ͳһÉèÖÃ

    Public Sub Dl_EnableAll(nAll As Boolean)

        mDL_BgSound = nAll

        mDL_Image = nAll

        mDL_Script = nAll

        mDL_Video = nAll

        mDL_ActiveX = nAll

        mDL_JavaApplet = nAll

        mDl_DlActiveX = nAll

        Call IniDownloadControl

        DownloadCtrlEX = mDownloadCtrl

        m_oWebBrowser.Refresh2 1

    End Sub

    'ÅúÁ¿ÉèÖÃ

    Public Sub Dl_BatchSet(Optional blnImage As Boolean = True, _

    Optional blnScript As Boolean = True, Optional blnBgSound As Boolean = True, _

    Optional blnVideo As Boolean = True, Optional blnActiveX As Boolean = True, _

    Optional blnJavaApplet As Boolean = True, Optional blnDlActiveX As Boolean = True)

        mDL_BgSound = blnBgSound

        mDL_Image = blnImage

        mDL_Script = blnScript

        mDL_Video = blnVideo

        mDL_ActiveX = blnActiveX

        mDL_JavaApplet = blnJavaApplet

        mDl_DlActiveX = blnDlActiveX

        Call IniDownloadControl

        DownloadCtrlEX = mDownloadCtrl

        m_oWebBrowser.Refresh2 1

    End Sub

     

     

    调用方法:在VB工程中添加此类,拉一个Webbrowser控件,用cWebbrowser的IniAll方法初始化一下,然后就可以自由控制了.

    Iniall方法的第一个参数是Webbrowser的容器,用于给Webbrowser定位的.第二个参数就是Webbrowser控件了.

    olelib2.IOleInPlaceSite是用来定位浏览器的,可以不引用.

    类中包含一个hWnd属性,这是浏览器的句柄,因为尽管Webbrowser控件有hwnd属性,但似乎根本无效.

    展开全文
  • 华为手机默认浏览器打开应用宝链接直接启动应用问题解决

    问题描述

    现在做的App有提示更新功能,点击去更新会跳转到应用宝的相关下载页面。
    遇到一个问题是,华为手机点击去更新,用默认浏览器打开了链接,但这时浏览器会自动又启动这个应用。

    原因分析

    出现这个问题主要是因为
    1、打开的链接是应用宝的中的更新应用链接
    2、打开华为默认浏览器设置中的关于,会发现“由QQ浏览器提供技术支持”,所以浏览器应该是做了处理,自动打开了应用。

    对比其他手机浏览器打开的页面,显示应用宝更新的应用时,显示的是
    安全下载

    而华为浏览器显示的是

    安全打开

    到这里问题就很清楚了

    程序中的VERSION_CODE值和应用市场的一样

    解决办法

    检查本地程序和上传应用市场的VERSION_CODE是否相同,应用市场的VERSION_CODE应该高一个版本的

    展开全文
  • 2、安卓用户打开链接后要么直接下载,要么前往手机默认浏览器下载。 以上是最好的实现方式,该实现方式可以使转化率达到最大化。但不尽人意的是微信系统会阻碍用户去使用微信推广app,最常见的状况就是苹果用户在微...

    需求表现

    微信中下载app共有两种实现方式,安卓跟苹果有些不同,具体方式如下:
    1、苹果用户打开后要么自动调起App Store下载(前提是你的应用在苹果商店上架了),要么提示跳转浏览器打开。
    2、安卓用户打开链接后可以自动跳转手机浏览器打开。

    以上是最好的实现方式,该实现方式可以使转化率达到最大化。但前提是你的推广链接没有被微信屏蔽,而且还要加一些技术处理手段才能实现。
    但不尽人意的是微信系统会阻碍商家使用微信推广app,最常见的状况就是用户在微信中打不开你的分享链接。这是因为你的链接被微信屏蔽了,如果访问次数过多,系统会自动将该域名纳入黑名单,至此该域名在微信上就会被封掉,除非更换域名,否则就一直打不开了。这对于需要使用微信推广的用户很不友好,那么究竟该如何解决这个问题呢?下面给大家分享微信跳转下载的实现方法和效果。

    技术来源

    1、http://www.mindjump.cn

    2、http://www.366api.cn

    功能实现后苹果用户可在微信内直接下载app,安卓用户则自动打开浏览器访问指定页面下载app。如果不含下载文件则访问指定h5页面,下面是含下载文件的实现效果:

    App Store应用实现效果
    在这里插入图片描述

    企业版app实现效果
    在这里插入图片描述

    安卓用户则自动打开手机浏览器访问落地页下载app。

    代码编程

    1. HTML代码

    var ua = navigator.userAgent;
    var isWeixin =  !!/MicroMessenger/i.test(ua);
    <--有不懂的加q:3358246772-->
    

    2. CSS代码

    1 #weixin-tip{display:none;position:fixed;left:0;top:0;background:rgba(0,0,0,0.8);filter:alpha(opacity=80);width:100%;height:100%;z-index:100;}
    2 #weixin-tip p{text-align:center;margin-top:10%;padding:0 5%;position:relative;}
    3 #weixin-tip .close{color:#fff;padding:5px;font:bold 20px/24px simsun;text-shadow:0 1px 0 #ddd;position:absolute;top:0;left:5%;}
    

    3. JS封装代码

     1 var is_weixin = (function(){return navigator.userAgent.toLowerCase().indexOf('micromessenger') !== -1})();
     2 window.onload = function() {
     3     var winHeight = typeof window.innerHeight != 'undefined' ? window.innerHeight : document.documentElement.clientHeight; //兼容IOS,不需要的可以去掉
     4     var btn = document.getElementById('J_weixin');
     5     var tip = document.getElementById('weixin-tip');
     6     var close = document.getElementById('close');
     7     if (is_weixin) {
     8         btn.onclick = function(e) {
     9             tip.style.height = winHeight + 'px'; //兼容IOS弹窗整屏
    10             tip.style.display = 'block';
    11             return false;
    12         }
    13         close.onclick = function() {
    14             tip.style.display = 'none';
    15         }
    16     }
    17 }
    

    至此,我们就可以直接用微信扫描二维码在微信中分享和宣传引流了。这样我们能够极大的提高自己的APP在微信中的推广转化率。解决掉了微信中下载链接被屏蔽等问题。充分利用微信的用户群体来宣传引流。

    展开全文
  • 方案:点击链接,自动打开外部浏览器下载APP 微信中点击或打开链接,自动打开外部浏览器下载app。全程完全自动化,无需用户任何手工操作。 这种方案可以说是完美解决微信中下载app的问题。效...
  • 这两天做了下企业微信的开发,i进行开发很顺利,但是到报表导出时遇到问题,对Chrome/IE等浏览器适用的下载方法在微信内置浏览器中点击没有反应。在网上找到资料说是内置浏览器把文件下载功能给屏蔽了,只能在其它...
  • 微信内无法直接下载app或者其他文件,因为微信会拦截含下载文件的链接,那么此时就需要用到微信跳转功能。很多朋友问我怎么解决微信内点击链接或扫描二维码可以直接跳出微信在外部浏览器打开网页链接,其实这并不难...
  • HTTP Server如何禁止浏览器缓存数据

    千次阅读 2014-11-03 16:21:51
    前言 往往浏览器保存一些数据,方便下次加载的时候
  • 设置页面过期,禁止浏览器后退

    千次阅读 2011-06-14 10:00:00
    禁止缓存 在许多方案中,其中有一种建议禁止页面缓存。具体是使用服务器端脚本,如下所示:  Response.Buffer=true; Response.ExpiresAbsolute=DateTime.Now.AddSeconds(-1); Response.Expires=0; Response....
  • Selenium+Python浏览器下载弹窗的处理

    千次阅读 2016-11-05 22:27:17
    Selenium+Python浏览器下载弹窗的处理 在使用selenium实现自动化下载的时候,遇到一个比较头疼的问题,就是浏览器下载弹窗的处理。由于这个弹窗是浏览器系统自己弹出的,所以用selenium定位弹窗并操作的方法并不...
  • 功能实现后, 苹果用户即可在微信内直接下载app也可以跳转浏览器下载,安卓用户则自动打开手机浏览器下载app, 如果不含下载文件,则直接从微信内跳转到手机浏览器访问指定页面 。下面是含app下载文件的实现效果...
  • 做微信营销活动或者APK下载推广时候,域名经常被封... 上网查了一下,微信自带的内置浏览器屏蔽了下载功能,所以才出现用微信扫一扫不能下载的情况。这时候我们一般会建议用户使用uc或者其他第三方浏览器自带的扫一...
  • 做微信营销活动或者APK下载推广时候,域名经常被封... 上网查了一下,微信自带的内置浏览器屏蔽了下载功能,所以才出现用微信扫一扫不能下载的情况。这时候我们一般会建议用户使用uc或者其他第三方浏览器自带的扫一...
  • 如何禁止Chrome浏览器版本自动更新的方法 谷歌Chrome浏览器通常每次会自动检查更新到最新版本,对于一些用习惯了老版本的朋友、或因某些调试需求想用一个固定版本的用户来说,简直抓狂,来吧,亲测教程如下方法1。...
  • 在Android6.0之前,需要声明权限时,我们只需在AndroidManifest.xml中声明即可。...如果我们的应用在使用过程中,必须要使用到外部存储空间,比如下载类、工具类应用,那么如何友好的引导用户开启存储空
  • 解决微信屏蔽内置浏览器下载功能

    千次阅读 2019-05-27 20:05:09
    现阶段,微信推广是传播信息速度最快的方法,见的最多的就是在海报上贴上微信二维码,让看到的人都能立刻了解到自己的产品,但是由于微信官方...做微信营销活动或者APK下载推广时候,域名经常被封,如何做到微信中正...
  • //控制浏览器不要缓存,下面三句都要写上 response.setHeader("Expires", "-1"); response.setHeader("Cache-Control", "no-cache"); response.setHeader("Pragma", "no-cache");
  • 由于微信的限制,应用文件在内置浏览器下载全部被屏蔽掉,造成很多人用微信扫描二维码下载时点击下载按钮没反应,我想到的是做一个提示用户在浏览器中打开下载。 其实原来很简单,就是判断当前是在微信内置...
  • iOS打开外部应用浏览器

    千次阅读 2015-12-30 15:10:16
    2:在启动其他第三方应用程序之前,可以通过如下代码判断,应用程序是否已经安装在iPhone中. [csharp]   view plain copy NSURL *url = [NSURL URLWithString:@ ...
  • 因为微信那边禁止,用微信调起其他应用的,所以尝试了过多方法多不行。为什呀应用宝能帮我们解决这个问题呢?很简单,因为是同一个爹的,都属于腾讯的儿子,一家人啥都好说了。主要是这两步 1,去应用宝发布自己的...
  • 此外,这个新版本在所有支持的操作系统平台上为最新的渲染功能、现代web应用程序和强大的开发工具提供了强大的支持,所以新版本的Edge浏览器一经推出,就受到了用户的一致好评。 作为Windows 10用户,由于某种原因...
  • 在UC浏览器打开链接唤醒app,假设没有安装该app,则跳转到appstore下载应用 须要在project中设置例如以下: 1、打开project中的myapp-Info.plist文件 2、打开文件里新增URL TYPES的一项,详细例如以下图...
  • 现在做手机端的页面基本是要兼容微信浏览器的,但是微信浏览器里面有些奇奇怪怪的问题,首先就是在页面做的链接跳转,微信居然把跳转到iTunes store的链接给屏蔽了,害我这折腾了半天。 例如 &lt;a href=&...
  • 1.应用场景 主要用于禁止向特定站点发送请求, 有时为了测试. 2.学习/操作 环境: Windows 10 方式一: 修改host文件, 在Hosts文件中添加规则 以管理员身du份运行【记事本】 打开C:\...
  • 安卓版的app在微信上禁止下载的。只有用户用右上角的浏览打开此下载页面时...只要用户打开此下载页面,就会自动跳转到用其他浏览器打开,而不是用微信自己内置的浏览器,因为微信自己内置的浏览器禁止用户有下载...
  • 今天在网上随便看东西,无意想到了之前在B站上看到过的干货,可这些东西iOS用不了啊,于是抱着试一试的态度,我打开了一个不允许复制的网站 我们看到,长按有这四个选项。拷贝肯定是行不通的。...
  • 安卓版的app在微信上禁止下载的。只有用户用右上角的浏览打开此下载页面时才能下载,现在就是想实现,只要是用户打开此现在页面之间用js自动跳转到用其他浏览器打开然后下载.只要用户打开此下载页面,就会自动跳转到...
  • 但都说得很片面,只能禁止IE,像Chrome浏览器就无能为力了,下面是一篇比较全面禁用所有浏览器缓存的文章,对提交表单后不让客户返回提交页面,防止重复提交表单,防止用户后退非常有用 由于不存在能够完全禁用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 46,289
精华内容 18,515
关键字:

如何禁止浏览器下载应用