5

URLに「https」を使用して保護されたページがあり、YouTubeからビデオを再生するためのYouTube URLも含まれています。YouTube の URL には「s」のない「http」が含まれているため、IE は「このページには安全な項目と安全でない項目の両方が含まれています」という警告ダイアログを表示しています。

Javascriptでこれを回避する方法はありますか? おそらく、ページが読み込まれた後、関数を使用して YouTube プレーヤー HTML を生成しますか? URL は「http://」で始まる必要があります。

編集: これまでにご意見をお寄せいただきありがとうございます。私はこれが不可能に聞こえることを知っています。IE にこのダイアログ ボックスを非表示にするように指示できるように、条件付きのコメントか何かがあれば幸いです。世界のほとんどが IE を使用しているため、顧客を混乱させます。FF は壊れたロックをクリックすると通知されるという点ではるかに優れた動作をしていますが、迷惑なポップアップは表示されません。これは、「あなたのプログラムは不正な操作を実行しました」の新しいバージョンのようなものです。(ユーザーは警察から隠れます) YouTube からの src があるページに YouTube ビデオを埋め込んでいます。彼らがホストしているので、私は彼らのプレーヤーを使用しています。私が見ることから抜け出す方法はありません。

私の修正は、非常に機密性の高いページ (パスワードの変更、ログイン) にのみ HTTPS を適用し、他のすべてのページで HTTPS を適用して、YouTube ビデオでこのポップアップが表示されないようにすることだと思います。私はPHPを使用していて、これを行うとSESSIONが壊れてしまうのではないかと心配していますが、それが唯一の方法であり、月曜日にそのクマに取り組むのを待ちます.

4

10 に答える 10

6

この問題を回避するために私が行ったことの 1 つは、サード パーティ リソースでプロキシする SSL サイトにページを作成することです。そうすれば、クライアントには SSL URL のみが表示されます。

たとえば、Flash Player は「https://YourSite.com/proxy.aspx?URL=http://www.youtube.com/video.swf」という URL を指すことができます。「proxy.aspx」が呼び出されると、クエリ文字列の URL に対して新しい Web 要求が作成され、データがクライアントに返されます。

これを行う場合は、プロキシされた URL を検証するか、何らかの ID を使用して、このコンテンツが信頼されていることをブラウザに納得させているため、URL を変更できないようにする必要があります。

于 2009-02-06T21:15:52.467 に答える
4

I've worked around this problem on all browsers using the following:

1) Create a thumbnail image of the start of the video with the "Play image" tag on the snapshot and host the image on your own https server. Embed the thumbnail where you want the video to be.

2) When the user clicks on the image invoke a Javascript onclick handler to create a new window with the href of the http embedded youtube video.

function onImgClickHandler() {
  //Link to embedded Viddler or Youtube video
  var win = window.open("http://www.viddler.com/player/###/", "My Video",
    'height=500,width=800,resizable=yes,scrollbars=yes');
  win.focus();
}

3) The video will now appear in a popup of the main page.

I usually use videos as tutorials for my site, so having the video in a popup browser window works well because it can be viewed alongside the main content and lets the user follow along with the site. The browsers do not even give a redirect warning that you are invoking an http popup from an https site, so your users will not see any "scary" non-secure item warnings on any browsers.

Hope this helps, I have an example of the above on the landing page of my site: https://drchrono.com/

UPDATE: I made the image preview by taking a screenshot of the playing video.

于 2009-02-25T23:51:22.383 に答える
4

このごく最近の YouTube API ブログ投稿によると、埋め込まれた YouTube ビデオはすでに HTTPS 経由のアクセスをサポートしています。これが事実である場合 (私はテストしていませんが、同様に信じない理由はありません)、「s」を埋め込み URL に貼り付けるだけで問題なく動作します。

于 2011-03-31T23:18:23.310 に答える
3

これを回避する方法があったとすれば、IE のセキュリティ上の欠陥であり、Microsoft がパッチを当てることになるため、混合コンテンツを警告なしで回避できるとは思いません。

唯一の代替手段は、FLV を自分でホストすることです。優れた SWF ベースの FLV プレーヤが多数あります。

于 2009-02-06T20:58:27.760 に答える
1

Adam Mershon のブログで詳しく説明されているように、Apache httpd サーバーのmod_rewriteモジュールを使用して、エラーなしで SSL セキュア ページに YouTube ビデオを埋め込むことができます。

SSL ドメイン内のパスを非 SSL YouTube にリダイレクトする書き換えルールを設定する必要があります。

.htaccess

RewriteEngine on
RewriteBase /
RewriteRule ^youtube/(.*)$ http://www.youtube.com/$1 [L]

HTML 内に、次のような独自のドメインからのように見える YouTube リンク URL を埋め込むことができます。

<embed src="https://www.yourdomain.com/youtube/v/mydjFYoD4WS&hl=en_US&fs=1&rel=0&autoplay=1&"
       type="application/x-shockwave-flash"
       allowscriptaccess="always"
       allowfullscreen="true"
       width="560"
       height="340">
</embed>
于 2010-06-08T12:12:45.983 に答える
1

私はこれと同じ問題を抱えていて、解決策を見つけました。

SSL認証を無効にすることなく動作します。

Google chromeを修正するためのステップバイステップガイド

下記の固定ページをご覧いただけます。YouTube、Flickr、その他多くの Web サイトへのリンクがあります。安全で、数か月間使用されています。それがあなたにも役立つことを願っています。

于 2012-04-10T00:35:16.560 に答える
0

JavaScript を使用して URL を置き換えることはできません。IE7 はコンテンツをインターセプトし、その後、警告をインターセプトします。

(jQuery) $(function() { }); を使ってみた それは一種の作品です。ダイアログで [はい] または [いいえ] をクリックしても、コンテンツは読み込まれます。

于 2009-02-07T19:20:52.027 に答える
0

これは私の世界では深刻な問題です。ユーザーからは「使いにくい」「壊れている」「子猫を殺してしまった」などのコメントが寄せられています。

プロキシ ソリューションは、おそらく展開される唯一の疑似修正です。それは明らかに完璧な解決策でもありません。

できるだけ多くのサイトを https で実行することで、これを少しうまくナビゲートしようとしています。明らかに、YouTube のケースはそれによって修正されません。

IE は、FUD を推進する忌まわしきウェアの愚かな塊です。私は IE9 が本当に見た目と同じくらい優れていることを願っています。ただ、XP をサポートしていないということは、つまり、まったくリリースされていないということです。2247年のXPを搭載した中国のスカイネットが最終的に私たちに赤い丸薬を与えるまで、最もn00biestなユーザーとして、無意識のうちに現状を書き込み禁止にします...

于 2011-03-31T22:03:49.477 に答える
-4

問題が発生するのは、メイン ページが Https を使用して取得され、含まれている 1 つ以上のファイル (画像、javascript、css など) が http を使用して取得される場合です。http url を https に修正します。

于 2009-02-06T21:19:01.057 に答える