検索サイトから、あるページを開いたら、
勝手にウィンドのいちが変わりました。
マジで感動してしまって、僕もやりたいなぁと思いました。
どうやるのかおしえてください

A 回答 (2件)

簡単なサンプルを作りましたので参考にしてください。



<html>
<head>
<script type="text/javascript">
<!--
function test() { window.moveTo(0,0); }
//-->
</script>
</head>
<body onload="javascript: test();">
</body>
</html>

ページが読み込んだ後にfunction test() を起動。
この場合はウインドウの位置は(0,0)となります。
(0,0)は左上になります。
    • good
    • 0

方法はいくつかあるが、Javaなら、そのページのソース表示して、パクればいいじゃん。

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q親ウィンドから子ウィンドへのデータの受け渡し方法

親ウィンドから子ウィンドへのデータの受け渡し方法で以下に簡単に記述致します。

<input・・・name="IN1"・・・>
<input・・・name="IN2"・・・>
<input・・・name="IN3"・・・>


for (i=1,i<=3,i++) {
window.opener.document.form名.IN'+i+'.value = eval('form.IN'+i+'.value');
}
<form・・・
<input ・・・name="IN1"・・・>
<input ・・・name="IN2"・・・>
<input ・・・name="IN3"・・・>
として渡したいのですが、
window.opener.document.form名.IN'+i+'.valueの"+i+"の指定でエラーとなってしまいます。エラー内容は『'+i+の'の後に;がありません』です。どのように指定すれば宜しいのでしょうか?

Aベストアンサー

>i<=3の3の部分が不確定なら、

そうなると場合分けをしっかりしたほうがよいでしょう。
まずinput要素のtextタイプをしらべ、一致するものがあれば
受け渡すというやり方がベターかと。
(下の例ではわざと、親子間に存在しない要素をいれときました。)

>0123となってしまう
型が認識されてないようなのでparseIntしてみてください

//parent.htm
<form id="parent_form0">
<input type="text" name="IN1">
<input type="text" name="IN3">
<input type="text" name="IN01">
<input type="text" name="IN100"><br />
合計:<input type="text" name="total">
<input type="button" value="childを開く" onClick="window.open('child.htm','_blank')">
</form>

//child.htm
<head>
<script>
window.onload=function(){
var pForm=window.opener.document.getElementById('parent_form0');
var cForm=document.getElementById('child_form0');
for(var i=0;i<pForm.length;i++){
if(pForm[i].type=="text" && pForm[i].name.match(/IN[0-9]*/) && cForm[pForm[i].name])
cForm[pForm[i].name].value = pForm[i].value;
}
}

function c2p(cForm){
var pForm=window.opener.document.getElementById('parent_form0');
var cForm=document.getElementById('child_form0');
var total = 0;

for(var i=0;i<cForm.length;i++){
if(cForm[i].type=="text" && cForm[i].name.match(/IN[0-9]*/) && pForm[cForm[i].name]){
pForm[cForm[i].name].value = cForm[i].value;
total += parseInt(cForm[i].value);
}
}
if(pForm['total']) pForm['total'].value=total;
}
</script>
</head>
<body>
<form id="child_form0">
<input type="text" name="IN1">
<input type="text" name="IN2">
<input type="text" name="IN01">
<input type="text" name="IN100">
<input type="button" value="parentに値を渡す" onClick="c2p()">
</form>
</body>

>i<=3の3の部分が不確定なら、

そうなると場合分けをしっかりしたほうがよいでしょう。
まずinput要素のtextタイプをしらべ、一致するものがあれば
受け渡すというやり方がベターかと。
(下の例ではわざと、親子間に存在しない要素をいれときました。)

>0123となってしまう
型が認識されてないようなのでparseIntしてみてください

//parent.htm
<form id="parent_form0">
<input type="text" name="IN1">
<input type="text" name="IN3">
<input type="text" name="IN01">
<input type="text"...続きを読む

Q画像の別ウィンドでの拡大表示をやりたいが・・・

Kootsukiと申します。
初めて質問させていただきます。
javascriptを勉強しはじめたものです。
ブログで画像の別ウィンドでの拡大表示をやりたくjavascriptでfunctionを定義しました。しかし、エラーになってしまいうまくいきません。どなたか原因を教えていただけないでしょうか。

まずhtmlは以下です。
<img src="http://...AAAAs.jpg" onclick="largeImage(this)">

次にfunctionの定義は以下です。
ブログ上のサムネール画像をクリックしたときには、lergeImageで900×675のウィンドゥを開き、そこにオリジナル画像を100%縮小(?)で表示します。同時に画面の左上に拡大マーク画像を表示し、そこがクリックされたら同じウィンドゥを使って縮小なしで再表示しようと思っています。しかし、拡大マーク画像をクリックすると、ランタイムエラー:行番号0で「オブジェクトを指定してください」とランタイムエラーになってしまいます。どこがおかしいのでしょうか。よろしくお願いします。

<script type="text/javascript">
<!--
var lisrc = "";
function largeImage(img){
var objImg = new Image();
objImg.src = img;
var img_wh_hi = objImg.height / objImg.width;
var base_wh_hi = 675 / 900;
img.src.match(/^(.+)s\.([^\.]+)$/);
lisrc = RegExp.$1 + "." + RegExp.$2;
newWin = window.open("","","top=10,left=10,width=900,height=675,scrollbars=yes").document;
newWin.open();
newWin.write('<html><head><title>拡大画像<\/title><style type="text/css"><!-- body {padding:0;margin:0;text-align:center;} #blank {position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;} --><\/style><\/head>');
newWin.write('<body>');
newWin.write('<p><img src="' + lisrc + '" width="100%" onClick="window.close()"alt="クリックするとウィンドゥを閉じます。"><img src="http://blog-imgs-19.fc2.com/....../kakudai.jpg" onClick="maxImage()" alt="さらに拡大" style="position:absolute; top:10px; left:150px; z-index=2"><\/p>');
newWin.write('<\/body><\/html>');
newWin.close();
}
function maxImage(){
newWin = window.open("","","top=10,left=10,width=900,height=675,scrollbars=yes").document;
newWin.open();
newWin.write('<html><head><title>拡大画像<\/title><style type="text/css"><!-- body {padding:0;margin:0;text-align:center;} #blank {position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;} --><\/style><\/head>');
newWin.write('<body>');
newWin.write('<p><img src="' + lisrc + '" onClick="window.close() alt="クリックするとウィンドゥを閉じます"><\/p>');
newWin.write('<\/body><\/html>');
newWin.close();
}
// -->
</script>

Kootsukiと申します。
初めて質問させていただきます。
javascriptを勉強しはじめたものです。
ブログで画像の別ウィンドでの拡大表示をやりたくjavascriptでfunctionを定義しました。しかし、エラーになってしまいうまくいきません。どなたか原因を教えていただけないでしょうか。

まずhtmlは以下です。
<img src="http://...AAAAs.jpg" onclick="largeImage(this)">

次にfunctionの定義は以下です。
ブログ上のサムネール画像をクリックしたときには、lergeImageで900×675のウィンドゥを開き...続きを読む

Aベストアンサー

別ウィンドウを開いた場合はウィンドウごとにスクリプトの空間が違います。

要するに、親ウィンドウで定義した関数を使う場合は、そう明示しなければいけません。
親ウィンドウのオブジェクトはparentやらopenerやらで参照できます。
子ウィンドウにfunctionオブジェクトを渡してもいいですが、まだそこまで分からないでしょう・・・


largeImageの出力HTMLより
newWin.write('<p><img src="' + lisrc + '" width="100%" onClick="window.close()" alt="クリックするとウィンドゥを閉じます。"><img src="省略/kakudai.jpg"​ onClick="parent.maxImage()" alt="さらに拡大" style="position:absolute; top:10px; left:150px; z-index=2"><\/p>');




>そこがクリックされたら同じウィンドゥを使って
window.openを何回も使うならウィンドウ名(openの第2引数)を指定しなければできません。




出力の<img>がHTMLの文法的に汚いです。
属性がスペースなしでつながっていたり、クォーテーションが抜けていたり。
これらもエラーの原因となります。

別ウィンドウを開いた場合はウィンドウごとにスクリプトの空間が違います。

要するに、親ウィンドウで定義した関数を使う場合は、そう明示しなければいけません。
親ウィンドウのオブジェクトはparentやらopenerやらで参照できます。
子ウィンドウにfunctionオブジェクトを渡してもいいですが、まだそこまで分からないでしょう・・・


largeImageの出力HTMLより
newWin.write('<p><img src="' + lisrc + '" width="100%" onClick="window.close()" alt="クリックするとウィンドゥを閉じます。"><img...続きを読む

Qメニューバーが表示されないウィンド

 教えてください。
今よくあるメニューバーが表示されないウィンド(例えばhttp://for-u.presen.to/)このようなものは以前javascriptで作ってあると聞きましたが、どこで配付しているのかを、知っている方がいたら教えてください。
 

Aベストアンサー

配布もくそもないです。
それは普通のJavaScriptの記述。
高度なものでも、配布対象のコンテンツになるような代物でもないです。

================================================以下をコピペ


<script language="javascript"><!--

function new_open() {
var w=window.open("new.html", "title", "width=500, height=300, fullscreen=1,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0");
w.blur();
w.resizeTo(500,300);
w.moveTo(100, 100);
}
//--></script>

<body>
<a href="javascript:new_open()">ここ</a>をクリックするとそげなウィンドウ
</body>


================================================以上をコピペ

以上をコピペして、適当に名前をつけます。
まぁ、ここでは、abc.htmlとでもしておきましょう。

また、特別(に見えるウィンドウ)に表示させるものとして、new.htmlを
用意します。

ただし、このような方法によって開いたウィンドウは、とても扱いにくいものです。
閉じるためのボタンも自分で用意してやらなくては閉じにくくなります。
(元の親ウィンドウをとじれば、この新規ウィンドウは閉じられますが。。。)



引数の説明
toolbar = yes/no ツールバー有無
location= yes/no ロケーションボックス有無
directories=yes/no ディレクトリボタン有無
status = yes/no ステータスバー有無
menubar = yes/no メニューバー有無
scrollbars=yes/no スクロールバー有無
resizable=yes/no ウインドウサイズ変更有無
width = ピクセル数 横幅
height= ピクセル数 縦幅

fullscreen=1 こうすることで上の最小化・最大化・閉じるボタンを消せる。
しかし、9割以上の閲覧者は「非常に不快」を覚えるので使用には注意を要する。
w.blur();
w.resizeTo(500,300);
w.moveTo(100, 100);
ボタンを消したあとは、新規のウィンドウをリサイズしたり、
表示位置を動かしたりしている。
記述の仕方を工夫すれば、真中にもって行くことが出来る。

まぁ、いろいろとyesやnoや各種値を改造してみれば、挙動が分かると思います。

配布もくそもないです。
それは普通のJavaScriptの記述。
高度なものでも、配布対象のコンテンツになるような代物でもないです。

================================================以下をコピペ


<script language="javascript"><!--

function new_open() {
var w=window.open("new.html", "title", "width=500, height=300, fullscreen=1,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0");
w.blur();
w.resizeTo(500,300);
w.moveTo(100, 100);
}
//--></s...続きを読む

QJavaScriptで開く別WINDの位置を常に前に位置を指定して開きたい

JavaScriptで開く別WINDの位置を常に前に位置を指定して開きたいのですが、どんなスクリプトを何処に記述すればいいかわかりません。

ソフトは DERAMWERVER を使用して今ビヘイビアで
サイズの指定をしてWINDを開くようにしました。

同じページからそのWINDにLINKが何箇所かあるのですが、最初はそのページが手前に来ますが、後は後ろのままです。

Aベストアンサー

ウィンドウを開くスクリプトに、開いたウィンドウにフォーカスを与える処理を加えればよいと思います。

head内に

<script type="text/javascript"><!--
function winOpen(url){
win1=window.open(url,"window1","width=***, height=***, resizable=1, scrollbars=1");
win1.focus();
}
//--></script>

body内のリンクは

<a href="#" onClick="winOpen('別ウィンドウで開くファイルのURL')">リンク1</a>

上記のようにすれば、リンクをクリックして関数が呼び出されるたびに、内部的にwindow1という名前を付けたウィンドウに引数で指定したURLのファイルを呼び出し(このときwin1というIDを与えています)、次にそのウィンドウにフォーカスが当たるようになると思います。 別のURLを引数に渡した場合、ウィンドウが再利用された上で、そのウィンドウがフォーカスで前面に出てくると思います。

参考になれば…

ウィンドウを開くスクリプトに、開いたウィンドウにフォーカスを与える処理を加えればよいと思います。

head内に

<script type="text/javascript"><!--
function winOpen(url){
win1=window.open(url,"window1","width=***, height=***, resizable=1, scrollbars=1");
win1.focus();
}
//--></script>

body内のリンクは

<a href="#" onClick="winOpen('別ウィンドウで開くファイルのURL')">リンク1</a>

上記のようにすれば、リンクをクリックして関数が呼び出されるたびに、内部的にwindow1...続きを読む

Q別ウインドウを開いて、更に、そこから、新しい別ウインドウを開きたいのですが、、、

別ウインドウ(SUB1)を開いて、更に、そこから、新しい別ウインドウ(SUB2)を開きたいのですが、うまくいきません。
そもそも、ページの仕組みは、フレームページです。
左右2枚です(左は、HPのリンクメニューです、右に各自が自由にUPできる仕組みです、FTP転送により、、、)
右ページにUPするには、各自定められているアカウントで転送します。
さて、現象なんですが、SUB2が、左のフレームに、表示されてしまうのです、本当は、別ウインドウとして表示されてほしいのに、、、、しかし、この、メインのフレームページを右だけ開くと、きちんと、別ウインドウとして表示されます、こんなこと、あるのでしょうか?

Aベストアンサー

開こうとしている別ウィンドウに与えられている名前が、フレームページに与えられている名前と重複していることが原因なのではないでしょうか。

window.open()の第二引数は、その第一引数で指定されたファイルを開くウィンドウないしフレームの名前を指定しています。 a要素のtarget属性と同等の意味を持っていると考えていいでしょう。
ですので、sub2を開く関数のwindow.open()の記述を見直して、第二引数で与えているウィンドウの名前を別の名前に変えるか、もしくは"_blank"に書き換えれば解決できると思いますよ。

見当違いでしたら、ごめんなさい。


人気Q&Aランキング

おすすめ情報