簡體   English   中英

ReferenceError:找不到變量:Safari中的ValidatorEnable

[英]ReferenceError: Can't find variable: ValidatorEnable in Safari

我正在開發一個包含JavaScript的ASP.NET應用程序,以動態啟用或禁用頁面上的驗證器。 在ASP.NET中,應用程序提供了一個Web資源,其中包括用於此目的的JavaScript函數,例如ValidatorEnable()。 當我在Mac上的Safari上運行我們的應用程序時,出現了無法找到ValidatorEnable的錯誤。 這是我們在jQuery(document).ready()回調函數中調用的函數,因此可以預期的是,此時所有資源都可用。 在調試器中進行檢查后發現,該資源從未交付給客戶端瀏覽器。

有人看過類似的東西嗎? 在Windows上的IE,Chrome或Firefox上不會發生此問題,在Mac上的Chrome或Firefox上也不會發生此問題。 Safari似乎是無法正確接收或處理ASP.NET JavaScript驗證程序功能的一種。

提前致謝!

我已經發布了有關ASP.NET 2.0瀏覽器識別功能的博客文章 基本上,從7.1開始,Chrome的瀏覽器版本字符串中會有沖突。 Asp.Net認為您運行的是不支持最新javascript的Safari瀏覽器的舊版本。 通過更改web.config的<browserCaps>元素,可以匹配較新的版本並分配正確的功能。

 <configuration> <system.web> <browserCaps> <filter> <case match="AppleWebKit/600">EcmaScriptVersion = 1.5 supportsCallback = true </case> <case match="AppleWebKit/601">EcmaScriptVersion = 1.5 supportsCallback = true </case> <case match="AppleWebKit/602">EcmaScriptVersion = 1.5 supportsCallback = true </case> <!-- Speculative futureproofing could do this? <case match="AppleWebKit/603">EcmaScriptVersion = 1.5 supportsCallback = true </case> <case match="AppleWebKit/610">EcmaScriptVersion = 1.5 supportsCallback = true </case> <case match="AppleWebKit/650">EcmaScriptVersion = 1.5 supportsCallback = true </case> --> </filter> </browserCaps> </system.web> </configuration> 

還有其他修復方法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM