用javascript父窗口控制只弹出一个子窗口_javascript技巧
近来网上经常流传一些关于如何在父窗口控制只弹出一个子窗口 问题,我查看了一些,大部分都是只能解决部分或者很麻烦,还不算完美。比如有人是实现的这样,使用的是Cookie,以下是例子。
主页上做了一个弹出窗口,如何使其只弹出一次,返回主页时不再弹出了。
---------------------------------------------------------------
<script>
<br>window.open("http://www.yeboss.com.cn","yeboss","width=300,height=400")
<br></script>
---------------------------------------------------------------
cookie
---------------------------------------------------------------
<script> <br><br><!-- Begin <br>var expDays = 1; // number of days the cookie should last <br><br>var page = "only-popup-once.html"; <br>var windowprops = "width=300,height=200,location=no,toolbar=no,menubar=no,scrollbars=no,resizable=yes"; <br><br>function GetCookie (name) { <br>var arg = name + "="; <br>var alen = arg.length; <br>var clen = document.cookie.length; <br>var i = 0; <br>while (i < clen) { <br>var j = i + alen; <br>if (document.cookie.substring(i, j) == arg) <br>return getCookieVal (j); <br>i = document.cookie.indexOf(" ", i) + 1; <br>if (i == 0) break; <br>} <br>return null; <br>} <br>function SetCookie (name, value) { <br>var argv = SetCookie.arguments; <br>var argc = SetCookie.arguments.length; <br>var expires = (argc > 2) ? argv[2] : null; <br>var path = (argc > 3) ? argv[3] : null; <br>var domain = (argc > 4) ? argv[4] : null; <br>var secure = (argc > 5) ? argv[5] : false; <br>document.cookie = name + "=" + escape (value) + <br>((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + <br>((path == null) ? "" : ("; path=" + path)) + <br>((domain == null) ? "" : ("; domain=" + domain)) + <br>((secure == true) ? "; secure" : ""); <br>} <br>function DeleteCookie (name) { <br>var exp = new Date(); <br>exp.setTime (exp.getTime() - 1); <br>var cval = GetCookie (name); <br>document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString(); <br>} <br>var exp = new Date(); <br>exp.setTime(exp.getTime() + (expDays*24*60*60*1000)); <br>function amt(){ <br>var count = GetCookie(’count’) <br>if(count == null) { <br>SetCookie(’count’,’1’) <br>return 1 <br>} <br>else { <br>var newcount = parseInt(count) + 1; <br>DeleteCookie(’count’) <br>SetCookie(’count’,newcount,exp) <br>return count <br> } <br>} <br>function getCookieVal(offset) { <br>var endstr = document.cookie.indexOf (";", offset); <br>if (endstr == -1) <br>endstr = document.cookie.length; <br>return unescape(document.cookie.substring(offset, endstr)); <br>} <br><br>function checkCount() { <br>var count = GetCookie(’count’); <br>if (count == null) { <br>count=1; <br>SetCookie(’count’, count, exp); <br><br>window.open(page, "", windowprops); <br><br>} <br>else { <br>count++; <br>SetCookie(’count’, count, exp); <br> } <br>} <br>// End --> <br></script>
这个是网上随便摘的一个例子,是不是感觉很多也很难看懂呢,下面我给大家说一种新方法,保证好看好使。
<script> <br><!-- Copyright fenggang at 2007/3/23 <br>var w=null; <br>function MM_openBrWindow(theURL,winName,features) { //v2.0 <br> if(w!=undefined&&isOpen()){ <br> w.close(); <br> } <br> w=window.open("",winName,features); <br> w.location.replace(theURL); <br>} <br>function isOpen() <br>{ <br> try <br> { <br> w.document; <br> return true; <br> } <br> catch(ex) <br> {} <br><br> return false; <br>} <br>//--> <br></script>
这个MM_openBrWindow()函数名是在Dreamweaver中常用的弹出窗口函数名,将这段代码放进页面里
然后再做弹出窗口就只能探出一个窗口了,以上是精髓部分,下面是完整的一个测试页的代码,试试看吧。
nbsp;html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script> <br><!-- Copyright fenggang at 2007/3/23 <br>var w=null; <br>function MM_openBrWindow(theURL,winName,features) { //v2.0 <br> if(w!=undefined&&isOpen()){ <br> w.close(); <br> } <br> w=window.open("",winName,features); <br> w.location.replace(theURL); <br>} <br>function isOpen() <br>{ <br> try <br> { <br> w.document; <br> return true; <br> } <br> catch(ex) <br> {} <br><br> return false; <br>} <br>//--> <br></script>
title

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

JavaScript文字列置換法とFAQの詳細な説明 この記事では、javaScriptの文字列文字を置き換える2つの方法について説明します:内部JavaScriptコードとWebページの内部HTML。 JavaScriptコード内の文字列を交換します 最も直接的な方法は、置換()メソッドを使用することです。 str = str.replace( "find"、 "置換"); この方法は、最初の一致のみを置き換えます。すべての一致を置き換えるには、正規表現を使用して、グローバルフラグGを追加します。 str = str.replace(/fi

それで、あなたはここで、Ajaxと呼ばれるこのことについてすべてを学ぶ準備ができています。しかし、それは正確には何ですか? Ajaxという用語は、動的でインタラクティブなWebコンテンツを作成するために使用されるテクノロジーのゆるいグループ化を指します。 Ajaxという用語は、もともとJesse Jによって造られました

10の楽しいjQueryゲームプラグインして、あなたのウェブサイトをより魅力的にし、ユーザーの粘着性を高めます! Flashは依然としてカジュアルなWebゲームを開発するのに最適なソフトウェアですが、jQueryは驚くべき効果を生み出すこともできます。また、純粋なアクションフラッシュゲームに匹敵するものではありませんが、場合によってはブラウザで予期せぬ楽しみもできます。 jquery tic toeゲーム ゲームプログラミングの「Hello World」には、JQueryバージョンがあります。 ソースコード jQueryクレイジーワードコンポジションゲーム これは空白のゲームであり、単語の文脈を知らないために奇妙な結果を生み出すことができます。 ソースコード jquery鉱山の掃引ゲーム

このチュートリアルでは、jQueryを使用して魅惑的な視差の背景効果を作成する方法を示しています。 見事な視覚的な深さを作成するレイヤー画像を備えたヘッダーバナーを構築します。 更新されたプラグインは、jQuery 1.6.4以降で動作します。 ダウンロードしてください

記事では、JavaScriptライブラリの作成、公開、および維持について説明し、計画、開発、テスト、ドキュメント、およびプロモーション戦略に焦点を当てています。

この記事では、ブラウザでJavaScriptのパフォーマンスを最適化するための戦略について説明し、実行時間の短縮、ページの負荷速度への影響を最小限に抑えることに焦点を当てています。

Matter.jsは、JavaScriptで書かれた2D Rigid Body Physics Engineです。このライブラリは、ブラウザで2D物理学を簡単にシミュレートするのに役立ちます。剛体を作成し、質量、面積、密度などの物理的特性を割り当てる機能など、多くの機能を提供します。また、重力摩擦など、さまざまな種類の衝突や力をシミュレートすることもできます。 Matter.jsは、すべての主流ブラウザをサポートしています。さらに、タッチを検出し、応答性が高いため、モバイルデバイスに適しています。これらの機能はすべて、物理ベースの2Dゲームまたはシミュレーションを簡単に作成できるため、エンジンの使用方法を学ぶために時間をかける価値があります。このチュートリアルでは、このライブラリのインストールや使用法を含むこのライブラリの基本を取り上げ、

この記事では、JQueryとAjaxを使用して5秒ごとにDivのコンテンツを自動的に更新する方法を示しています。 この例は、RSSフィードからの最新のブログ投稿と、最後の更新タイムスタンプを取得して表示します。 読み込み画像はオプションです
