Instanceofがiframeで失敗する

Zenoo

次のコードはを返しますtrue

console.log(document.createElement('script') instanceof Element);


<iframe>コンテキストで同じことを行うと、次のようになりますfalse

let iframe = document.querySelector('iframe');
iframe = iframe.contentDocument || iframe.contentWindow.document;

console.log(iframe.createElement('script') instanceof Element);

デモ

何故ですか?

Sergiu Paraschiv

それの訳は:

1)Element実際にはwindow.Element

2)JSには、「クラス」のようなものはありません。すべて(ほぼ)がオブジェクトです。したがって、instanceofはプロトタイプの祖先をチェックしますあなたが尋ねるとき、is some DOM node instanceof Elementあなたはこれをある種に翻訳することができますsomeDOMNode.prototype === Element

3)window.Element !== document.querySelector('iframe').contentWindow.Element!!!

これはtrue期待どおりにログに記録されます。

console.log(iframe.createElement('script') instanceof  document.querySelector('iframe').contentWindow.Element);

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

フロー: `instanceof Type`が失敗するのはなぜですか?

分類Dev

「instanceof」が失敗するかどうかを確認します

分類Dev

Iframe内の要素の検索がサイプレスで失敗する

分類Dev

.bashrcが原因でgitpushが失敗する

分類Dev

codenameoneでURLImage.createToStorageが失敗する

分類Dev

JsonTestでSpring Autoconfigurationが失敗する

分類Dev

MethodNodeの作成がIllegalStateExceptionで失敗する

分類Dev

Java 11でOpenWebBeans CDIが失敗する

分類Dev

Dockerfileでgit installが失敗する

分類Dev

matches(not(isDisplayed()))がNoMatchingViewExceptionで失敗する

分類Dev

pdf.jsがgetDocumentで失敗する

分類Dev

GeneralizedNewtypeDerivingがPersistFieldSqlで失敗する

分類Dev

FindNameがTabItemで失敗する

分類Dev

rsyncがjenkinsで失敗する理由

分類Dev

Javaで同期が失敗する

分類Dev

git svncloneが「Failedtostrippath」で失敗する

分類Dev

jQgridfilterToolbarがsearchOnEnterで失敗する

分類Dev

Apache SparkMultilayerPerceptronClassifierがArrayIndexOutOfBoundsExceptionで失敗する

分類Dev

jQgridfilterToolbarがsearchOnEnterで失敗する

分類Dev

Powershellが更新で失敗する

分類Dev

PostgreSQLRETURNINGがREGEXP_REPLACEで失敗する

分類Dev

Docker forWindowsで「dockerpullredis」が失敗する

分類Dev

OpenShift occreateが「alreadyexists」で失敗する

分類Dev

MacでMakeが失敗する

分類Dev

AndroidでFirebaseFirestoreGetInstanceが失敗する

分類Dev

画像onClickがReactで失敗する

分類Dev

mmapsyscallがerrno14で失敗する

分類Dev

Jestでテストが失敗する

分類Dev

LinuxでDateTimeOffset.TryParseが失敗する

Related 関連記事

  1. 1

    フロー: `instanceof Type`が失敗するのはなぜですか?

  2. 2

    「instanceof」が失敗するかどうかを確認します

  3. 3

    Iframe内の要素の検索がサイプレスで失敗する

  4. 4

    .bashrcが原因でgitpushが失敗する

  5. 5

    codenameoneでURLImage.createToStorageが失敗する

  6. 6

    JsonTestでSpring Autoconfigurationが失敗する

  7. 7

    MethodNodeの作成がIllegalStateExceptionで失敗する

  8. 8

    Java 11でOpenWebBeans CDIが失敗する

  9. 9

    Dockerfileでgit installが失敗する

  10. 10

    matches(not(isDisplayed()))がNoMatchingViewExceptionで失敗する

  11. 11

    pdf.jsがgetDocumentで失敗する

  12. 12

    GeneralizedNewtypeDerivingがPersistFieldSqlで失敗する

  13. 13

    FindNameがTabItemで失敗する

  14. 14

    rsyncがjenkinsで失敗する理由

  15. 15

    Javaで同期が失敗する

  16. 16

    git svncloneが「Failedtostrippath」で失敗する

  17. 17

    jQgridfilterToolbarがsearchOnEnterで失敗する

  18. 18

    Apache SparkMultilayerPerceptronClassifierがArrayIndexOutOfBoundsExceptionで失敗する

  19. 19

    jQgridfilterToolbarがsearchOnEnterで失敗する

  20. 20

    Powershellが更新で失敗する

  21. 21

    PostgreSQLRETURNINGがREGEXP_REPLACEで失敗する

  22. 22

    Docker forWindowsで「dockerpullredis」が失敗する

  23. 23

    OpenShift occreateが「alreadyexists」で失敗する

  24. 24

    MacでMakeが失敗する

  25. 25

    AndroidでFirebaseFirestoreGetInstanceが失敗する

  26. 26

    画像onClickがReactで失敗する

  27. 27

    mmapsyscallがerrno14で失敗する

  28. 28

    Jestでテストが失敗する

  29. 29

    LinuxでDateTimeOffset.TryParseが失敗する

ホットタグ

アーカイブ