これは、クロスオリジン ポリシーによるものです。ホスト、ポート、プロトコルが一致しない限り、ajax 経由で開くことはできません。events.colorspace.amをii.colorspace.amにできない場合は、次の 2 つの方法を試すことができます。
ii.colorspace.amで、プロキシとして機能する .php ファイルをホストします。基本的には、 events.colorspace.am内で実際に有効なアドレスである<?php die(file_get_contents($_GET['url'])); ?>
ことを確認するための基本的な検証のみが含まれます。このファイルを配置した後、ギャラリーのリンクを更新して、http://events.colorspace.am/g/20120331の代わりにhttp://ii.colorspace.am/file.phpになるようにする必要があります。 ?url=http://events.colorspace.am/g/20120331 . したがって、これ、または:$_GET['url']
ユーザーをリダイレクトします。ギャラリーのリンクで入力できる場合、javascript:window.open('http://events.colorspace.am/g/20120331')
これは簡単です。しかし、実際には一部のポップアップ ブロッカーがそれをキャンセルする可能性があり、方法 1 に住んでいる方が安全ですが、die(file_get_contents(...))
コードをこれに置き換えます。
<script> window.location.href=<?php echo json_encode($_GET['url']); ?>; </script> Please wait you will be redirected...
基本的にユーザーをリダイレクトする必要があります。
/編集:
最後に質問を理解しました。必要な作業は次のとおりです。
- 属性
<a class="project-link" href="http://events.colorspace.am/...>
を追加しtarget="_blank"
ます。
- メモ帳などで開く
/wp-content/themes/yin_and_yang/js/jquery.quicksand.init.js
ファイルの先頭に向かって、次の行を見つけます
eQgetProjectViaAjax = function(e) {
そのすぐ下に、次の行を追加します。
var href = $(this).attr('href');
if(href.indexOf('://')!==-1){
href = href.split('://');
host = window.location.href.split('://');
if(href[0]!==host[0]) return setTimeout(function(){ $('#overlay').hide(); },500);
href = href[1].split('/');
host = host[1].split('/');
if(href[0]!==host[0]) return setTimeout(function(){ $('#overlay').hide(); },500);
}
すべてを保存して、もう一度お試しください。今回はうまくいきます。