• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:拡大スクリプト・zoom_ブックマークレット)

拡大スクリプト・zoom_ブックマークレット

このQ&Aのポイント
  • 拡大スクリプト・zoom_ブックマークレットのメリットとは?
  • 拡大スクリプト・zoom_ブックマークレットのシンプルな書き方
  • 拡大スクリプト・zoom_ブックマークレットの使い方と効果

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

ご自分で試されると明らかに挙動が違うことを 理解できると思いますが・・・ 基本的には2点 ・ブラウザによるのかもしれませんが、アンカーの hrefにスタイルシートを直接かけないようです。 voidでなにも返さないという処理がはいっているのが 元ソースです。 ・元ソースは再帰的な拡大です。1回クリックで1.3倍 2回クリックで1.6倍、3回クリックで1.9倍・・ とどんどん拡大します。質問者さんのは1.3倍に変更 しておしまいです。 それと記述に関して、zoomに代入する値は1.3ではなく 130%にしておくことをお勧めします。検証したのですが 一部不具合がおこります。 またケツのeval()はなにか意味があるのでしょうか? たんなる転機ミスなら気にしませんが・・・

hikiko
質問者

お礼

大変参考になる情報ありがとうございます。 文末に eval() か void(0) をつけないと新ページに移動して1,3という文字列が返されるのでそのためにつけました。 1.3の記述で不具合がおこるのはどのような環境でしょうか。 windows98se では逆に 130% の指定をしたときにうまく機能しません。

hikiko
質問者

補足

130%で機能しないのは windows98se IE6の環境での話です。 ブラウザのことかくの忘れてました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ブックマークレット勉強中 javascript:void

    javascriptの入門書を2さつよみました。 そこでブックマークレットをつくっています。 javascript:void(document.body.style.lineHeight='1.6em') ↑のようなブックマークレットで、いろいろリファレンスを調べたのですが、void の意味が良く分かりません。 どなたか詳しい意味使い方をおしえてください。 たしかに void の部分がないとうまく機能しないので、必要なのは分かるのですが……

  • ブックマークレットを使いたい

    エイサーの Chromebook 15 CB3- 532 F 14 のブラウザの Chrome からブックマークレットを使いたいと思っています。 javascript:alert('こんにちは'); や あやしいリンク先の実際のリンクを確認する javascript:(function(){var a=document.activeElement; alert(a.outerHTML);})(); は本を参考に試したところ実行できました。 同じように リンク先を確認してからジャンプする javascript: captureEvents(Event.CLIK); void( onclick=function(e){ return confirm(e. target. href) } ) では失敗しました。 失敗は計算機能 javascript:( function(){ var c=prompt(“計算式を入力してください”); if(c!=null){ alert(eval (c)); } void(0); } )(); でも起きました。 失敗で表示される画面は違うはずなのに結果として同じようです。 添付ファイルにその状態を示します。 両方とも市川市図書館のURL で試したのでその URL のトップが見える画面です。 直し方を教えてくださいよろしくお願いします

  • HTMLソースをコピーするブックマークレット

    よろしくお願いします。 タイトルのとおり、HTMLソースをコピーするブックマークレットを作りたいのですが、 IEからメモ帳でソースを開いた時と全く同じ内容をクリップボードにコピーしたいのですが、 以下のスクリプトではそのように動作しませんで、困っています。 javascript:alert(document.parentWindow.clipboardData.setData("text", document.body.innerHTML)?'コピー完了':'false'); 上記ので駄目だったので、以下のスクリプトも試しましたが、駄目でした。 javascript:alert(document.parentWindow.clipboardData.setData("text", document.getElementsByTagName('html')[0].innerHTML)?'コピー完了':'false'); 上記スクリプトでは<HEAD>~</BODY>までの間しかコピーされず(その前後の<script >関連などがコピーされません)、また、改行やインデントなども消去されてしまっています。 コピーしたデータをPHPのプログラムでデータとして処理しているため、IEのソースを表示でメモ帳で開いたデータと全く同じ様式にしてコピーしたいのですが…。 詳しい方がおられましたら、どうかよろしくお願い致します。

  • スクリプトがIE6だけ正常に動かない

    スクリプトがIE6だけ正常に動かない 下記のようなブックマークレット用のスクリプトなのですがIE6では動きません. Opera9,Mozilla Firefox1.5では期待通りに作動しました. javascript:(function(){document.body.innerHTML=document.body.innerHTML.replace(/<a\s+href=\x22#\x22\s+onclick=\x22func\d+\w+\(\x27([^\x27]+)\x27[^>]+>/ig,'<a href=\x22$1\x22>$1');})(); やろうとしていることは,次のようなHTMLの記述の文字列を操作したい,というものです. <a href="#" onclick="func01_abc('あいうえお','abc')">LINK</a> 試しにブックマークレットではなく,HTMLに<script>タグで直接スクリプトを記述してテストしてみましたが,やはりIE6だけは作動しません. アドバイスよろしくお願いします.

  • クリック操作で、サイトの文字の大きさを変えたいのですが。

    クリック操作で、サイトの文字の大きさを変えたいのですが。 似たような質問の回答を見つけ、以下を試してみました。↓ <a href="Javascript:void(document.body.style.fontSize='200%')">大</a> <a href="Javascript:void(document.body.style.fontSize='150%')">中</a> <a href="Javascript:void(document.body.style.fontSize='100%')">小</a> ああああ これはうまくいったのですが、リンクさせると元に戻ってしまい、 ページが変わるたびに、また操作しなければなりません。 このサイトのように http://www.pref.yamanashi.jp/index.html 一度クリックすれば、サイト全体に引き継ぐようにしたいのですが どのようにすればよいのでしょうか? よろしくお願いいたします。

  • これは何をするスクリプトですか?

    <head> <script type="text/javascript"> <!-- function loading() { if (document.getElementById){ document.getElementById('load').style.visibility = 'hidden'; } else { if (document.layers){ document.layers['load'].visibility = 'hidden'; } else { document.all('load').style.visibility = 'hidden'; }}} // --> </script> </head> <body onload="loading()"> 詳細は略して書いています。 プログラムに全く詳しくないので、何をやろうとしているスクリプトなのかわかりません。 皆様には簡単かとは思いますが、よろしくお願いします。

  • PHP/Javascriptで画像表示の拡大

    PHP/JavaScript初心者です。 IE7でウィンドウに表示している画像を ウィンドウが拡大したことにより、画像も拡大したいのですがどうすればいいですか? IE8では違う方法できましたが、IE7ですとIE8でできた方法がだめで 質問させていただきます。 関連するPHPファイルで JavaScriptのwindow.open(xxx,width=800,height=600)で以下のPHPファイルを呼ぶようにしてます。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio … <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <title>文献表示</title> <meta http-equiv="Pragma" content="No-Cashe" /> <meta http-equiv="Cache-Control" content="No-Cache" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="Content-Type: image/jpeg" /> <!-- //--> <script type="text/javascript"> <!-- function win_zoom(){ var browse=navigator.appName; document.dspimg.style.visibility="hidden"; document.dspimg.style.visibility="visible"; window.resizeTo(900,700) *ウィンドウサイズを拡大拡大したことにより画像も拡大したい? location.reload(); } //--> </script> <!-- //--> </head> <body> <?php $fold= $_GET['fold']; $no= $_GET['no']; $jpgFiles = glob($fold . "*.JPG"); $cnt = count($jpgFiles); ?> <?php //画像表示 echo '<div align="center">'; <?php // 2011.04.28T.Yamada Update Start //拡大 ?> <INPUT type="button" Value="拡大" onclick="win_zoom()" > </div> </body> </html> </head> <body> <?php $fold = $_GET['fold']; $no = $_GET['no']; $jpgFiles = glob($fold . "*.JPG"); $cnt = count($jpgFiles); ?> <?php //画像表示 echo '<img name="dspimg" src="' . $jpgFiles[$no] . '" alt="' . $jpgFiles[$no] . '" width=800 height=600 " />'; // *** oku update end //echo '<hr />'; echo '<div align="center">'; <?php // 2011.04.28 T.Yamada Update Start //拡大 ?> <INPUT type="button" Value="拡大" onclick="win_zoom()" > </div> </body> </html>

  • 入力ボタンによってtextareaの幅を変更

    try { elem_id = event.srcElement.id; } catch ( e ) { elem_id = event.target.id; } if (event.keyCode == 13 || event.charCode == 13) { var m = document.getElementById(elem_id); var r = m.getAttribute("rows"); m.setAttribute("rows", parseInt(r)+1); } else if(event.keyCode == 8 || event.charCode == 8){ var m = document.getElementById(elem_id); var r = m.getAttribute("rows"); if(parseInt(r)>1){ m.setAttribute("rows", parseInt(r)-1); } } 現在、textareaのonkeydownイベントで上の関数を呼び出しているのですがこれを行の先頭でバックスペースを押されたときのみtextareaのrowsを1減らすというようにしたいのですがやり方が分かりません。 例えば、textareaの内容が aa bb といったような場合、bbの前でバックスペースが押されたときのみrowsを1減らしたいのです。 よろしくお願いします。

  • color 属性が追加できない

    <html><meta><script language="javascript"><!-- tr = document.createElement("tr"); tr.setAttribute("bgcolor", "black"); td = tr.appendChild(document.createElement("td")); td.appendChild(document.createTextNode("test")); tbody1.appendChild(tr); //--></script></head><body> <table><tbody id="tbody1"></tbody></table> </body></html> というソースなのですが,実行してもセルの背景が黒く塗りつぶされません。 setAttribute("width", "100px")などはきちんと適用されるのですが・・・。 setAttribute("style", "background-color: black;")としてもダメでした。 どのようにすればよいのでしょうか。 よろしくお願いします。

  • ホームページ全体を拡大・縮小表示するには

    px値を指定して作ったページがあって 読み込んだ時にホームページ全体を拡大・縮小表示の指定するには どうしたらいいでしょうか? ipadのブラウザから見たらスクロールしないと 全体が見れなかったので、ページ全体を縮小させたいです。 $(document).ready(function(){ $("body").css("zoom","70%"); }); これを追加してみたんですが変わらなかったです。