サポート » プラグイン » Contact Form 7 使用時のブラウザー表示エラー

  • 解決済 4koyama

    (@4koyama)


    Contact Form 7 1.9.1を使用しているのですが、プラグインを適用し、
    IE7でページを表示すると

    ライン:3
    文字:2
    エラー:オブジェクトでサポートされていないプロパティまたはメソッドです。
    コード:0

    というエラーメッセージが表示されます。
    firefoxではエラーメッセージは出力されません。

    Contact Form 7のプラグインを適用しなければIEでもエラーメッセージが出てこないので
    おそらくContact Form 7が原因ではないかと推測しているのですが。。。

    どなたか、ご存知の方ご教授願えませんでしょうか?

13件の返信を表示中 - 1 - 13件目 (全13件中)
  • 解決方法ではなくて申し訳ないです。

    Contact Form 7 1.9.1を2.6.5と2.7で使ってますがVista SP1+IE7と
    XP SP2/SP3+IE7でErrorなく表示できています。

    再度Contact Form 7 1.9.1をアップロードしなおすとかしたり
    使っているプラグインを全部停止してContact Form 7だけ
    有効にしてみてみたら如何でしょうか?

    モデレーター Takayuki Miyoshi

    (@takayukister)

    Contact Form 7 の作者です。こんばんは。

    そういった現象は XHTML の構文が崩れているなどの理由で javascript が正常に機能できないときによく見られます。XHTML Validator などで一度点検してみてはいかがでしょうか。

    ロードしている javascript のあいだでコンフリクトを起こしているケースも考えられます。その場合は masaru さんが指摘されたように他のプラグインの無効化で検証可能ですね。

    もちろん他の理由も考えられるのでこの限りではありません。実際のページを見ることができれば問題点を誰か指摘できるかもしれません。

    トピック投稿者 4koyama

    (@4koyama)

    4koyamaです、
    masaruさん、takayukisterさんおはようございます。
    ご教授有難うございます。

    やはり、自分の環境で特別に起こっている現象なのですね。

    教えていただいた事を早速試してみました。
    まず、全てのプラグインをはずしてContact Form 7のみにしてみてもエラーでした。
    XHTML Validatorで
    エンコーディング:utf-8
    ドキュメントタイプ:xhtml 1.0 Transitionalでエラーは見つかりませんでした。
    一度、Contact Form 7を削除して再度インストールしてみたのですがエラーでした。

    実際のページは、 http://yokoyama-f.net/ です。
    現在現象が再現されています。
    wordpress初心者なもので皆さんにご迷惑かけますが、よろしくお願いします。

    仕事中なのでIE7環境がなかったので、Firefox 3.0.5+Web Developer 1.1.6 日本語版で
    みてみました。

    トップページを開くと
    エラー: jQuery(“div.wpcf7 > form”).ajaxForm is not a function
    ソースファイル: http://yokoyama-f.net/wordpressn/wp-content/plugins/contact-form-7/contact-form-7.js
    行: 5
    のエラーが出てますね。

    どんな時にこのエラーがでるかは私は見た事がないのでわかりかねます。

    takayukisterさんのレスを期待って事で・・・。

    トピック投稿者 4koyama

    (@4koyama)

    こんにちは、masaruさま。
    お忙しいところご確認有難うございます。

    やはり、自分の環境がよろしくないのでしょうかね。。。

    お手数おかけして申し訳ありませんでした。

    モデレーター jim912

    (@jim912)

    4koyamaさん、こんにちは。

    ソースを見ると、Contact Form 7のスクリプト読み込み後にテーマのjquery.jsが読み込まれています。
    これを先に読み込ませるか、使用していないのであれば、このjavascriptの読み込み自体を止められないでしょうか。

    横からすみません。

    jim912さんの指摘のようにテーマのjquery.jsの読み込む順序を変えるのが良いと思います。

    個人的にはjquery.jsの読み込みをテーマにハードコードしているのが気になります。
    プラグインによってはjquery.jsを使用するものもあり、二重三重に読み込んだりバージョンが違ったりムダも発生するように思います。

    <?php wp_enqueue_script(‘jquery’); ?>

    と作法にのってムダが無いようにスクリプトを読み込んだ方が良いかと思います。

    <?php wp_enqueue_script(‘jquery’); ?>
    <?php wp_head(); ?>
    <script type=”text/javascript” src=”http://yokoyama-f.net/wordpressn/wp-content/themes/wsc4-1.1/js/tree.js”></script&gt;
    <script type=”text/javascript”>
    jQuery.noConflict();
    var j$ = jQuery;
    </script>
    </head>

    のほうが良いかと思います。

    コードの検証はしていません。

    すみません、うっかり見落としてました。

    jQuery.noConflict();
    var j$ = jQuery;

    がエラーの原因見たいです。

    //var j$ = jQuery;

    とコメントにしtree.js内のj$をjQueryに書き換えると良いような・・・

    今度もコード検証をしていないのでうまくいかないかもです。

    トピック投稿者 4koyama

    (@4koyama)

    jim912さま、taikikenさま、初めまして、こんにちは。
    ご教授有難うございます。
    自分は素人なもので皆様方の指摘が半分理解できていないのですが。。。
    とりあえず、javascriptの読み込みを自分なりに整理してみたのですがうまくいきません。。

    もはや、プラグインとは関係なくなってしまったような気がしますが、よろしくお願いします。

    javascriptの読み込みを自分なりに整理してみたのですがうまくいきません。。

    どういう風にされたのでしょう。

    まずは header.php(多分)の
    <?php wp_head(); ?>
    以下の

    <script type=”text/javascript” src=”<?php bloginfo(‘template_directory’); ?>/js/jquery.js”></script>
    <script type=”text/javascript” src=”<?php bloginfo(‘template_directory’); ?>/js/tree.js”></script>
    <script type=”text/javascript”>
    jQuery.noConflict();
    var j$ = jQuery;
    </script>

    を削除あるいはコメントにしてみるとどうでしょう。

    モデレーター jim912

    (@jim912)

    4koyamaさん、taikikenさん、こんばんは。

    利用されている(と思われる)テーマが昨日付でアップデートされてました。(爆)

    WSC4.2アップデート

    1. サブカテゴリーをプルダウンで表示させる機能が、他のプラグイン使用時にエラーを発生させる原因となっていたので、この機能をしばらく廃止する事にしました。
    2. STYLE.CSSの各所を変更。

    先の返信でtaikikenさんが示されている通り、テーマのjavascript部分をごっそり削除してしまうのがよさげです。(サイドバーのプルダウンはされませんが。。。)

    モデレーター Takayuki Miyoshi

    (@takayukister)

    無事(?)解決のようですね。

    蛇足ながらいちおう補足でコメントしておくと、taikiken さんが書かれたように jQuery などのよく使われる Javascript ライブラリを読み込む時には wp_enqueue_script() を使うのが正しい手順です。今回のケースでも問題の根本は、テーマがこれを使わず独自に jquery.js を読み込んでいたことにありました (そこさえ正しくしていれば Javascript 全削除は必要なかったはず)。

    wp_enqueue_script() はだいぶ前から用意されているものですがまだ知らないプラグイン/テーマ開発者も多いようで、こういったコンフリクト事例はけっこう頻繁に見られます。同じようなケースに遭遇した場合は、HTML ソースのヘッダを見て、同じ名前の js ファイルが複数回読み込まれていないかチェックしてみるとよいでしょう。

    トピック投稿者 4koyama

    (@4koyama)

    みなさま、おはようございます!
    タイミングよくテーマがアップデートされエラーは解消しました!

    素人の自分を一々面倒見ていただきありがとうございました。
    これからも色々勉強していきますが、また壁にぶち当たった時はよろしくお願い致します!

13件の返信を表示中 - 1 - 13件目 (全13件中)
  • トピック「Contact Form 7 使用時のブラウザー表示エラー」には新たに返信することはできません。