クリックすると、隠しテキストを表示するようなサンプルがあるのですが、

これを別のページからも起動させるにはどうすればよいでしょうか?

【トップページHTML】
<a href="JavaScript:onClick=Piyo('hoge');">隠しテキスト</a>
<div id="hoge" style="display:none">


【外部JS】
function Piyo(id){
if(document.all){
if(document.all(id).style.display == "block"){
document.all(id).style.display = "none";
}else if(document.all(id).style.display == "none"){
document.all(id).style.display = "block";
}
}else if(document.getElementById){
if(document.getElementById(id).style.display == "block"){
document.getElementById(id).style.display = "none";
}else if(document.getElementById(id).style.display == "none"){
document.getElementById(id).style.display = "block";
}
}
}s


呼び出す別のページで、

<a href="/" onclick="Piyo('hoge');">

とかやってもダメでした…


やりたいことは、
リンクをクリックしたら、
画面をトップページに遷移させた後、自動的に、
遷移先のfunction Piyoを実行させて、隠しテキストを表示させたいです
(隠しテキストを表示させた状態で、トップページを表示したい)

回答の条件
  • 1人50回まで
  • 登録:2011/11/05 10:38:56
  • 終了:2011/11/05 22:57:52

ベストアンサー

id:Lhankor_Mhy No.1

Lhankor_Mhy回答回数779ベストアンサー獲得回数2312011/11/05 16:04:02

トップページを

<body onload="load();">

などとして、

function load(){
  if (location.hash=='#open') Piyo('hoge');
}

などというスクリプトを追加すればよいのではないでしょうか。

そうすると

<a href="/index.html#open">

などのリンクで表示してくれると思います。

id:railway0

Lhankor_Mhyさん

ありがとうございましたッ!

こちらの期待通りの動作になりました♪

すごくうれしいですー

2011/11/05 23:01:14
  • id:Lhankor_Mhy
    補足願います。
    ・その隠しテキストがあるページのソースは変更できますか?
    ・その隠しテキストがあるページは、リンクするページと同一ドメインですか?
  • id:a-kuma3
    ページを遷移させなきゃいけない?
    別のウィンドウを開くのは駄目なんですよね?

    Piyo 関数が書かれているウィンドウの window オブジェクトが手に入れば、
    window_piyo が Piyo 関数を持ってるページの window オブジェクトだとして、
    その関数を呼び出すのは、window_piyo.Piyo(id) でできます。

    window オブジェクトが手に入る、ってことは、そのページが表示されてなくちゃいけなくて、
    でも、そこの関数を呼び出すスクリプトが書いてあるページも表示されてないと
    スクリプトが実行できない。

    リンクをクリックしたら、
    ・別のウィンドウを開く
    ・遷移元のページにめいっぱいの大きさの iframe を作って、そこに表示したいページを表示する
    のどちらかならできそう。

    前提として、Lhankor_Mhy さんが書いているように、両方のページのドメインが同じである必要があります。
    別ドメインだと、Permision のエラーになっちゃいます。
  • id:railway0
    みなさんコメントありがとうございます

    >・その隠しテキストがあるページのソースは変更できますか?
    変更できます。同じようなことが出来れば、違う書き方でも全然構いません

    >・その隠しテキストがあるページは、リンクするページと同一ドメインですか?
    同一ドメインです
  • id:railway0
    >ページを遷移させなきゃいけない?
    >別のウィンドウを開くのは駄目なんですよね?
    別ウィンドウではなく、ページ遷移させる方法を知りたいです。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません