2

埋め込み可能な iframe コードを生成して、ユーザーがブログにコードを含めて、配信する予定のコンテンツを表示できるようにしようとしています。今、私が配信しようとしているコンテンツは、単なる Web サイトです。Wordpress ブログで次のコードを使用しようとしています。

<iframe width="420" height="315" src="http://www.cnn.com" frameborder="0"></iframe>

ただし、ページを表示すると、Wordpress は単に次の html に基づいて「http://www.cnn.com」へのリンクを出力します。

<a href="http://www.cnn.com">http://www.cnn.com</a>

つまり、Youtube で生成された iframe コードを使用すると、iframe は正常に読み込まれます。例えば:

<iframe width="420" height="315" src="http://www.youtube.com/embed/_OBlgSz8sSM" frameborder="0" allowfullscreen></iframe>

結果:

<iframe class='youtube-player' type='text/html' width='420' height='315' src='http://www.youtube.com/embed/_OBlgSz8sSM?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe>

この機能を有効にするためにYoutubeが何をしているのか、またはより一般的には単純なiframeを機能させる方法について考えてください。

4

6 に答える 6

3

iframe の代わりにアンカーを取得する理由はわかりませんが、Google が iframe でホームページを望んでいないことはわかっています。src http://www.google.comを持つ iframe がある場合、空の iframe が表示されます。この例も参照してください。

===更新===

Wordpress は、いくつかの例外を除いて iframe を禁止しています。おそらく、ショートコードで処理できます。次の未テストのコードをテーマの functions.php に追加してみてください。

// [iframe src="www.cnn.com"]
function iframe_func($atts) {
    extract(shortcode_atts(array(
        'src' => 'default'
    ), $atts));
    return '<iframe src="{$src}"></iframe>';
}
add_shortcode('iframe', 'iframe_func');

[iframe src="www.cnn.com"]これで、wordpress 管理画面の記事エディターに追加できるようになりました。

于 2012-06-08T13:57:14.693 に答える
3

ショートコードを作成することは、この問題を回避する方法です。WYSIWYG エディターをバイパスし、ページに html を配置します。

このようにアプローチします。

これを functions.php ファイルに追加します。

function add_iframe($atts) {
    extract(shortcode_atts(array(
    'src' => '/'
    ), $atts));
  $theframe = '<iframe src="'.$src.'" width="420" height="315" frameborder="0"></iframe>';
  return $theframe;
}
add_shortcode('iframe', 'add_iframe');

用途:

[iframe src=http://thesiteyouwanttoshow.com] を iframe を表示するコンテンツに追加します。

于 2012-06-08T21:05:49.213 に答える
2

iframe 内に独自の Web ページをロードしている場合、ホストされているほとんどのソリューションでは xFrame オプションが SAMEORIGIN に設定されていることに注意してください。そのため、Wordpress で何を変更しても、対象の Web サイトによってブロックされているため、ページはレンダリングされません。

この問題に何時間も費やしたので、この問題が発生している場合は、ターゲットの Web サイトも同様になることを願っています。Rails でソリューションをホストしている場合、私が見つけた答えはここにあり、Wordpress で確実に読み込まれる Web サイトはここにありますので、そのエンドポイントをテストとして自由に使用してください。

于 2015-04-16T12:58:27.247 に答える
0

Google はX-Frame-Optionsヘッダー ( に設定SAMEORIGIN) を使用して、iframe に配置できないようにします。これを回避するには、ユーザーは をサポートしていないブラウザを使用する必要がありますX-Frame-Options

于 2012-06-08T13:58:32.920 に答える
0

残念ながら、google や yahoo (bing を除く) などの主要な検索エンジン サイトでは、多数の API と統合オプションが提供されているため、iframe の埋め込みが許可されていません。したがって、これを行うための実際の方法は実際にはありません。Google を iframe ソースとして埋め込む予定がない場合は、現在のコードを明確にする必要があります。試してみて、ソースを別のものに変更してください。その場所に Google は表示されません。そこに検索エンジンが必要な場合は、残念ながら、動作するのは bing だけだと言うのは恐ろしいことです。

お役に立てれば!

要約すると、Google は iframe に埋め込みませんが、作成する他のコンテンツはコーディングに基づいて作成する必要があります。例:

<iframe width="420" height="315" src="http://www.uncrate.com" frameborder="0"></iframe>

http://jsfiddle.net/pKby8/

取得するアンカーは、xFrame オプションの結果です。Googleサーバーに接続すると、サーバーはかわいい応答を返し、iframeの代わりにそれらにリンクする必要があることを示唆します.

于 2012-06-08T14:07:14.093 に答える
0

出力に iFrame を挿入するWordPress のshort_codeを作成します。ポストボックスのワードプレスにiFrameコードを直接追加することで、それが変わっていると思います。

http://codex.wordpress.org/Shortcode_API

于 2012-06-08T14:52:47.680 に答える