jqueryライトボックスプラグインカラーボックス(http://colorpowered.com/colorbox/)を使用しており、ユーザーを自分のWebサイトに送信するwww.example.com/about-me.htmlのようなURLを作成できるようにしたいと考えています。ライトボックススクリプト内でiframedページ(about-me.html)を開きます。
イベントフックなどを使用する必要があると思いますが、結果を得る方法がわかりません。助けていただければ幸いです。
jqueryライトボックスプラグインカラーボックス(http://colorpowered.com/colorbox/)を使用しており、ユーザーを自分のWebサイトに送信するwww.example.com/about-me.htmlのようなURLを作成できるようにしたいと考えています。ライトボックススクリプト内でiframedページ(about-me.html)を開きます。
イベントフックなどを使用する必要があると思いますが、結果を得る方法がわかりません。助けていただければ幸いです。
クレジットは、カラーボックスグーグルグループのジャックムーアに行きます。
彼の解決策はこの質問に適合しました:
var url = document.location.href;
if(url.search(/\?about-me/i) !== -1){
$(".iframe:first").click();
}
したがって、URLはwww.example.com?about-meになります。これにより、ユーザーはホームページに移動し、このjavascriptはそのパラメーターを見つけて、colorboxに開くように指示します。
元のグーグルグループスレッドと詳細情報:http://groups.google.com/
編集-以下の私のサンプルソースコードを更新しました
私はそのライトボックスに精通していませんが、あなたがする必要があるのは、ページを作成し、window.loadまたはdomreadyでライトボックスを呼び出すことだけだと思います。
$(document).ready(function () {
if(document.location.hash){
//launch colorbox and use this hash
$.fn.colorbox({width:"50%", inline:true, href:""+document.location.hash+""});
}
});
他のコンテンツにアクセスする方法の例を見てください。私があなたの質問を正しく理解しているなら、あなたは外部ソースをiframeに表示したいと思うでしょう。あなたはそれを使用してそれを行うことができます:
(サンプルページから)
$(".iframe").colorbox({iframe:true});
<p><a class='iframe' href="http://google.com">Outside webpage (IFrame)</a></p>
更新:URLを入力したときに上記のコードのようなものをページに表示したい場合は、パラメーターまたはURLの書き換えを使用してそれを実行することをお勧めします。アイデアは、URLにiframeにロードするページが含まれ、サーバー上でこれを抽出し、それを使用してページ上に上記のコードのようなものを構築するというものです。
http://www.example.com/main?load=about.htm
またはMVCのようなものを使用すると、次のようになります。
http://www.example.com/main/about
これにより、メインコントローラーでaboutアクションが呼び出されます。これにより、「about.htm」コンテンツファイルをiframeに挿入するコードを含むビューがレンダリングされます。