web-dev-qa-db-ja.com

IE11の「オブジェクトはこのプロパティまたはメソッドをサポートしていません」エラー

エラーが発生しています

重大なエラー:オブジェクトはこのプロパティまたはメソッドaddeventlistenerをサポートしていません

IE 11ブラウザ。

このエラーはIE 11に固有のものです。ページはIE 10以下で適切に開かれています。 this MSDN post 、 IE 11はaddEventListenerをサポートします。

誰もこれについて考えていますか?

30
VSP

これは残念ながら他のことを壊します。ここに私が見つけた修正があります site それは私にとってはうまくいったようです:

X-UA-Compatible"IE=8"のままにして、マスターページの下部に次のコードを追加するとします。

<script language="javascript">
    /* IE11 Fix for SP2010 */
    if (typeof(UserAgentInfo) != 'undefined' && !window.addEventListener) 
    {
        UserAgentInfo.strBrowser=1; 
    } 
</script>

これはcore.jsのバグを修正し、IE11のUserAgentInfo.strBrowse=3を設定してaddEventListenerをサポートするという誤った計算を行います。それ以外の詳細については完全にはわかりませんが、IE = 8を維持することとこのスクリプトを使用することの組み合わせがうまく機能しています。次のIE11/SharePointの「バグ」を見つけるまで、指を交差させました。

30
user3116631

修正プログラムが利用可能になるまで(修正プログラムが提供されるまで)これを解決する最善の方法は、ユーザーにIE互換モードを強制することです。

つかいます <META http-equiv="X-UA-Compatible" content="IE=9">理想的にはマスターページで、サイト内のすべてのページに回避策を適用します。

20
Chris R

マスターページで使用されるか、グローバルに使用されるJSファイルにコードスニペットを追加します。

<script language="javascript">
if (typeof browseris !== 'undefined') {
    browseris.ie = false;
}
</script>

詳細については、ブログを参照してください: http://blogs2share.blogspot.in/2016/11/object-doesnt-support-property-or.html

2
Vikas Bansal

また、IEバージョン11を使用してReactアプリ(create-react-app withエンタープライズイントラネット上のバージョン16.0.0(jQuery v3.1.1)に対応する。それを解決するために、この rl の指示に従ってください。

  1. マスターファイルの最初の行が<!DOCTYPE html>であることを確認して、DOCTYPEを必ず標準モードに設定してください。

  2. IE 11の場合、ヘッドタグに次のメタタグを含めることにより、最新の内部バージョンを使用します:<meta http-equiv="X-UA-Compatible" content="IE=Edge;" />

注:IEを使用して、ローカルマシン(localhost:3000)で開発モードでアプリにアクセスする場合、問題に直面しませんでした。会社のイントラネットのDEVサーバーに展開されたアプリにアクセスするとき、おそらく会社全体のWindows OSポリシー設定および/またはIEインターネットオプション。

2
Alan C. S.

私は同様の問題に直面しており、驚くべきことに今回はメタタグが機能しませんでした。私が現在協力している会社には、メタタグよりも優先度が高い エンタープライズモード設定 があります。

ポリシーの問題の原因となる設定を変更することはできません。幸いなことに、jQueryの基本的な使用法ではなく、特別な機能は必要ないので、最終的な解決策は、バージョンを1.12に切り替えて互換性を高めることです。

ref: jQuery-ブラウザサポート

1
蕭為元

これを修正したのは、core.js shimがロードされる前にレンダリングされるReactコンポーネントがあったことです。

import ReactComponent from '.'
import 'core-js/es6'

ReactComponentの前にcore-jsをロードすると問題が修正されました

import 'core-js/es6'
import ReactComponent from '.'
1
wegry

問題を解決するためにIE11の互換モードを設定しました。設定>互換表示設定>サイト名を追加するか、ポータルがイントラネットにある場合は「互換表示でイントラネットサイトを表示する」をチェックします。

IEバージョン11.0.9600.16521

私たちのために働いて、これが誰かを助けることを願っています。

0