• ベストアンサー

ウェブページを保存・印刷させない方法

ウェブページを保存・印刷させない方法を以前ネットで調べて設定していました。 <style type="text/css"> <!-- @import"html://"; --> </style> と <SCRIPT language=JavaScript> <!-- var meg="不正ダウンロード防止のために右クリックを禁止しています。"; //megの部分が右クリックされたときのコメントになります。 //著作 素材共同組合「かげ」 function Mclick(migi) { if (document.layers || (document.getElementById && !document.all)) { if(migi.which==2 || migi.which==3) { alert(meg); return false; } } } function Husei() { if (document.all) { alert(meg); return false; } } if (document.layers){ document.captureEvents(Event.MOUSEDOWN); document.onmousedown=Mclick; }else{ document.onmouseup=Mclick; document.oncontextmenu=Husei; } // --> </SCRIPT> です。 しかし、IE7では右クリックも保存も出来てしまうようです。 IE7でも対応している方法をどなたかご存知ではないでしょうか? よろしくお願い致します!!!!

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

  • ベストアンサー
  • xtort
  • ベストアンサー率44% (32/72)
回答No.1

上記の方法ではJavaScriptを使用していますのでOFFにしてしまえばそれまでかと思います・・・ ページの構成が分からないのでなんとも言えませんが、方法は様々あると思われます。 例えばFlashを利用して、FlashからHTMLを読みに行くなど・・・ これなら、そう簡単に保存することは出来ません。

TAM3TAM7
質問者

補足

ありがとうございます。 社内グループウェアにて使用しているページなのですが、社員に閲覧のみさせて、なるべく社外に情報が漏洩するのを防ごう、という考え方のもとに行なっています。エクセルやワードで作成したものを保存や印刷不可にしてアップさせられたらな、と思うのですが…。 なかなか方法がなく、結構面倒なのですがウェブページにしてアップしている状況です。 ご教示頂いた件もまた、よく調べてみます。

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

その他の回答 (3)

  • maxmixmax
  • ベストアンサー率10% (91/908)
回答No.4

見られたくない、保存されたくない情報は WEB上に垂れ流さない事です。

TAM3TAM7
質問者

補足

ありがとうございます。 社内グループウェアにて使用しているページなのですが、社員に閲覧のみさせて、なるべく社外に情報が漏洩するのを防ごう、という考え方のもとに行なっています。エクセルやワードで作成したものを保存や印刷不可にしてアップさせられたらな、と思うのですが…。 なかなか方法がなく、結構面倒なのですがウェブページにしてアップしている状況です。 何か良い方法はないものでしょうか?

全文を見る
すると、全ての回答が全文表示されます。
  • Seravy
  • ベストアンサー率47% (118/249)
回答No.3

所詮そんなことは不可能ですよw 右クリック禁止にしようがソースはダウンロードできるし、ソースさえ手に入れば、CSSだのJavaScriptを書き換えれば印刷だってお手の物。 画像はPrintScreenで取得できる他、CGIから呼び出すようにしてなきゃ直接ファイルにアクセスされてKnock Outですね; Flashで外部ファイルを読み込んだ所で構成ファイルを調べれば1クリックで開けます。(Safariとかが実装してる) うた○っぷがいくら印刷禁止・コピー不可を歌った所で、すぐダウンロードツールが作られるのと同様、公開された情報がコピーされることを防ぐ手立てなどないと思った方が賢明です。 しかも、右クリック禁止などの制限は最終的に利用者の足枷になります。 私もなぜか一生懸命ソースがとられないようにせっせと努力していた過去も有りましたが、やはり自分が使われてうっとうしいな、と思ったことをやるのはお客さんに対して失礼でもあるのでやるのをやめました。 とりあえず、お客さんに不便な思いをさせて尚、守るべき重要情報は公開すべきじゃないと思います・・。(少なくとも、メッセージボックスが出て来ると頭に血が登る人が多いので、せめて、return falseと、穏便に、何もなかったかのようにスルーさせましょう

TAM3TAM7
質問者

補足

ありがとうございます。 社内グループウェアにて使用しているページなのですが、社員に閲覧のみさせて、なるべく社外に情報が漏洩するのを防ごう、という考え方のもとに行なっています。エクセルやワードで作成したものを保存や印刷不可にしてアップさせられたらな、と思うのですが…。 なかなか方法がなく、結構面倒なのですがウェブページにしてアップしている状況です。 何か良い方法はないものでしょうか?

全文を見る
すると、全ての回答が全文表示されます。
  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.2

残念だけど画面に表示されている以上保存させない方法は極めて限られるよ。 どうしてもというなら専用ブラウザを使わせるしか無い…と思う。 画面に表示されている = キャッシュが存在 = 保存済  

TAM3TAM7
質問者

お礼

ありがとうございます。 しばらくはIE6を使わせるようにします。

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

関連するQ&A

  • つづきです・2

    先ほどの質問のプログラムです。 どうぞよろしくお願いいたします。 (*印はサイトアドレスまたはファイル名です。) <script tupe="text/javascript"> <!-- window.onerror=null function getMouseX(e){ if(document.layers)return e.pageX if(document.all) return document.body.scrollLeft+event.clientX } function getMouseY(e){ if(document.layers)return e.pageY if(document.all) return document.body.scrollLeft+event.clientY } function moveLAYER(layName,x,y){ if(document.layers)document.layers[layName].moveTo(x,y) //NN用 if(document.all)document.all(layName).style.pixelLeft=x //IE用 if(document.all)document.all(layName).style.pixelTop=y //IE用 } function setBGCOLOR(layName,color){ if(document.layers)document.layers[layName].bgColor=color if(document.all)document.all(layName).style.backgroundColor=color } var nn4=!!document.layers var ie4=!!document.all function showHELP(no,e){ var offsetx=1 var offsety=1 moveLAYER('helplay'+no,(getMouseX(e)+offsetx),(getMouseY(e)+offsety)) } function hideHELP(no,e){ moveLAYER('helplay'+no,-100,-3) } //--> </script> <STYLE TYPE="text/css"> <!-- A { font-family:Osaka,Arial;font-size:10pt } .helplay { position:absolute;top:-100;left:-3 <!----> </STYLE> </head> <body bgcolor="#969696" link="#3c3c3c" text="white"> (つづきます) 関連URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=453166

  • マウスオンで説明文をページの真ん中に表示させたい!

    よろしくお願いします。 http://www4.ocn.ne.jp/~tomotan/tagpractice.html (↑)このサイトで <HTML> <HEAD> <SCRIPT><!-- function show(object) { if (document.layers && document.layers[object] != null) document.layers[object].visibility = 'visible'; else if (document.all) document.all[object].style.visibility = 'visible'; } function hide(object) { if (document.layers && document.layers[object] != null) document.layers[object].visibility = 'hidden'; else if (document.all) document.all[object].style.visibility = 'hidden'; } //--></SCRIPT> <STYLE><!-- .myStyle { position: absolute; visibility:hidden; top:150; left:300; } //--></STYLE> </HEAD> <BODY> <A HREF="#" onMouseover="show('myLayer1')" onMouseout="hide('myLayer1')">ここにマウス</A> <DIV ID="myLayer1" CLASS="myStyle"> Hello!! </DIV> </BODY> </HTML> を表示させると、「Hello!」の文字が「テキスト」の右側に表示されます。 そうじゃなくて、「Hello!」の右側にリンクを箇条書きに書き込んでいきたいんです。 で、リンクにマウスを乗せると左側にリンク先の説明が表示される・・・というふうにしたいんです。 お願いしますm(__)m

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

    <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()"> 詳細は略して書いています。 プログラムに全く詳しくないので、何をやろうとしているスクリプトなのかわかりません。 皆様には簡単かとは思いますが、よろしくお願いします。

  • java詳しい方宜しくお願いします。

    <!--HPB_SCRIPT_CODE_40 function _HpbShowObj(lId) { var ob;ob=new Array; var appVer=parseInt(navigator.appVersion); var isNC=false,isN6=false,isIE=false; if (document.all && appVer >= 4) isIE=true; else if (document.getElementById && appVer > 4) isN6=true; else if (document.layers && appVer >= 4) isNC=true; if (isNC) { w_str = "document." + lId;ob[lId] = eval(w_str); if (!ob[lId]) ob[lId] = _HpbFindHiddenObj(document, lId); if (ob[lId]) ob[lId].visibility = "show"; } if (isN6) { ob[lId] = document.getElementById(lId); ob[lId].style.visibility = "visible"; } if (isIE) { w_str = "document.all.item(\"" + lId + "\").style";ob[lId] = eval(w_str); ob[lId].visibility = "visible"; } } function _HpbFindHiddenObj(doc, lId) { for (var i=0; i < doc.layers.length; i++) { var w_str = "doc.layers[i].document." + lId; var obj;obj=new Array; obj[lId] = eval(w_str); if (!obj[lId]) obj[lId] = _HpbFindHiddenObj(doc.layers[i], lId); if (obj[lId]) return obj[lId]; } return null; } //--> </script> これは何をするスクリプトでしょうか? ぜひご教授下さいませ。

    • ベストアンサー
    • Java
  • 別フレームの画像の操作について

    画像をクリックすると指定した所にある画像が その画像に変わるというタグを作ったのですが、 1つのフレーム内ではできるのですが 2つのフレームを使って、もう片方にある指定した 画像を変更する事ができなく、色々とサイトを見て みたのですがどうにもうまくいかず、質問させていただきます。 1つ目のフレームののタグは <SCRIPT language="JavaScript"> <!--HPB_SCRIPT_CODE_40 function _HpbImgSwap(imgName, imgSrc) { var appVer=parseInt(navigator.appVersion); var isNC=false,isN6=false,isIE=false; if (document.all && appVer >= 4) isIE=true; else if (document.getElementById && appVer > 4) isN6=true; else if (document.layers && appVer >= 4) isNC=true; if (isNC||isN6||isIE) { if (document.images) { var img = document.images[imgName]; if (!img) img = _HpbImgFind(document, imgName); if (img) img.src = imgSrc; } } } function _HpbImgFind(doc, imgName) { for (var i=0; i < doc.layers.length; i++) { var img = doc.layers[i].document.images[imgName]; if (!img) img = _HpbImgFind(doc.layers[i], imgName); if (img) return img; } return null; } //--> </SCRIPT> 続きは次のレスに(長くてすいません)

  • 一括で入力のチェックをしたいのです!

    どなたか教えてください・・・ フツー入力チェックを行う場合 <SCRIPT language="JavaScript"> <!-- function Check(){ if(document.myform.Name.value==""){ alert("名前を入力してください。"); return false; } if(document.myform.Email.value==""){ alert("Eメールアドレスを入力してください。"); return false; } if(document.myform.Email.value.indexOf("@")<=0){ alert("Eメールアドレスが正しくありません。"); return false; } if(document.myform.Comment.value==""){ alert("コメントを入力してください。"); return false; } return true; } // --> </SCRIPT> こんなカンジで各フォーム毎にチェックを行い メッセージを出したりすると思うのですが、 フォーム数が多いため、入力のチェックを 一括で行いたいのですが・・・ JavaScriptを始めて間もないため とんちんかんな質問をしている様でしたら すみません。 どなたか入力チェックを一括で出来る方法を 教えて頂けないでしょうか・・・ お願いします。

  • フォームの入力チェックをすると既に入力した項目が消える

    実は過去のQ&Aの中でご紹介されていた ホームページを拝見させて頂いたのですが、 残念ながら私の応用力が足りず、 上手く作ることが出来ません。 下記のように書いてみたのですが、 これでは未入力のメッセージにOKを押すと その前に入力したものが全て消えてしまいます。 何方か、正しい書き方をご教示下さいますよう 宜しくお願い申し上げます。 <script language="JavaScript"> <!-- function checkForm(){ if(document.form1.chk1.checked == false && document.form1.chk2.checked == false) { alert('チェックなし'); return false; } { flag = 0; for ( i = 0 ; i < document.form1.radiobtn.length ; i++){ if (document.form1.radiobtn[i].checked){ flag = 1; } } if (!flag){ alert('ラジオなし'); return false; } if(document.form1.sel.selectedIndex == 0){ alert('メニューなし'); document.form1.sel.focus(); return false; } if(document.form1.bun.value == ""){ alert('文字なし'); document.form1.bun.focus(); return false; } } return true; } //--> </script>

  • メールアドレスの入力チェックをして、正しくなければ戻る方法

    今、フォームを作っているところなのですが、 各必須事項は入力されていないと戻るように設定していますが、同じ形でメールアドレスもチェックしたいのですが、その際にxxx@***.xxxという正規の形でないと引っ掛かるようにしたいのですが、どうすればよいでしょうか?お分かりの方、是非教えてください。 よろしくお願いします。 -------------------------------------------- 現在のスクリプトは以下のような感じです。 これでは、大文字などでメールアドレスを入れられてもチェックを通してしまいますので。。 function check(){ if(document.FF.お名前_漢字.value == ""){ alert("お名前_漢字を入力してください"); document.FF.お名前_漢字.focus(); return(false); } if(document.FF.住所.value == ""){ alert("住所を入力してください"); document.FF.住所.focus(); return(false); } if(document.FF.email.value == ""){ alert("メールアドレスを入力してください"); document.FF.email.focus(); return(false); } return(true); } -------------------------------------------- そして送信ボタンを押すと、このスクリプトが働くように、 onSubmit="return check()" を設定しています。

  • お詳しい方どうぞ宜しくお願い致します。

    <!--HPB_SCRIPT_CODE_40 function _HpbShowObj(lId) { var ob;ob=new Array; var appVer=parseInt(navigator.appVersion); var isNC=false,isN6=false,isIE=false; if (document.all && appVer >= 4) isIE=true; else if (document.getElementById && appVer > 4) isN6=true; else if (document.layers && appVer >= 4) isNC=true; if (isNC) { w_str = "document." + lId;ob[lId] = eval(w_str); if (!ob[lId]) ob[lId] = _HpbFindHiddenObj(document, lId); if (ob[lId]) ob[lId].visibility = "show"; } if (isN6) { ob[lId] = document.getElementById(lId); ob[lId].style.visibility = "visible"; } if (isIE) { w_str = "document.all.item(\"" + lId + "\").style";ob[lId] = eval(w_str); ob[lId].visibility = "visible"; } } function _HpbFindHiddenObj(doc, lId) { for (var i=0; i < doc.layers.length; i++) { var w_str = "doc.layers[i].document." + lId; var obj;obj=new Array; obj[lId] = eval(w_str); if (!obj[lId]) obj[lId] = _HpbFindHiddenObj(doc.layers[i], lId); if (obj[lId]) return obj[lId]; } return null; } //--> </script> これは何をするスクリプトでしょうか? これはテンプレートに記述されていたコードで 何のために必要か知りたかったので 一旦削除してサーバにアップしてみたのですが きちんと表示されていて問題なさそうでした。 すみませんがぜひご教授下さいませ。 宜しくお願い致します。

  • このタグの文字サイズを大きくしたいのですが、、、

    <head> <title>1文字づつ画面上に出力する</title> <script language="JavaScript"><!-- str = "Sample text...(^^)/ By KaZuhiro FuRuhata"; count = 0; function setText1() { if (count > str.length) return; count++; txt = str.substring(0,count); if (document.all) document.all["outText"].innerHTML = txt; if (document.layers) { document.layers["outText"].document.open(); document.layers["outText"].document.write(txt); document.layers["outText"].document.close(); } setTimeout("setText1()",100); } // --></script> </head> <body> <a href="javaScript:setText1()">出力開始</a> <div id="outText" style="position:absolute;top:50px;left:5px;"></div> </body>