2

このWordPress関数では、スクリプトを登録するためにwp_register_scriptを使用して、外部スクリプトをロードするために、次の形式を使用できます。

wp_register_script('my_jQuery', '//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js');

ドキュメントに記載されているように、2番目のパラメータは「//」で始まり、WordPressにプロトコルを指定させます。

リモートアセットは、プロトコルに依存しないURL、つまり「//otherdomain.com/js/theirscript.js」で指定できます。デフォルト:なし

WordPress 3.5.1の場合は正常に機能しますが、WordPress3.4​​.2の場合は機能しません。

2つの質問:

1-「//」で2番目のパラメータを使用できるWordPressのバージョンはどれですか?

2-この形式「//」をサポートしていないWordPressバージョンの場合、外部リソースを呼び出すための推奨される方法はどれですか?WordPressページプロトコルを要求し、それに応じて使用する必要がありますか?

4

2 に答える 2

3

これはコアチケット#16560で議論されました:

外部リソースをロードするとき、ほとんどのブラウザ(確認する必要があります)は、url-schemeが単純であるかどうかhttps://を自動選択します。たとえば、含まれているページがそれ自体である場合はhttpsを介してロードされますが、そうでない場合はロードされます。http://////ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.jshttpshttp

class.wp-scripts.phpclass.wp-styles.php正規表現チェックを実行^https?://して、それが外部リソースであるかどうかを判断しますが、実際には^(https?:)?//-またはさらには使用する必要があります^(\w+:)?//(たとえば、一部のルーニーはftpを使用できるため)。

チケットは閉じられ、8か月前に修正されるように設定されましたが、バージョン3.5でのみ実装されました。

プロトコルを手動で確認する必要がある場合は、次の機能is_ssl()が使用されます。

$protocol = is_ssl() ? 'https://' : 'http://';
于 2013-03-10T12:29:44.990 に答える
1

どのバージョンのWordPressがプロトコルに依存しないURLをサポートしているかはわかりませんが、2番目の質問に答えることができます。プロトコルに依存しないURLの目的は、ページのロードに現在使用されているものに基づいてリソースをロードするときに、SSL接続または通常の接続のいずれかを自動的に使用することです。WebサイトでSSL接続を使用しているかどうかに関係なく、古いバージョンのWordPressをサポートする場合は、可能な場合はhttps://代わりに使用//します。これは、Googleがホストするスクリプトなど、SSL接続をサポートする外部スクリプトでのみ機能することに注意してください。ロードしているリソースがSSLをサポートしていない場合、選択は明確です。http://代わりに使用してください//

于 2013-03-10T04:08:24.090 に答える