たとえば自分が貼り付けた画像を、Web閲覧者に「画像を保存」されたくないとします。その際、簡単な禁止方法はありますか?

 あるサイトで、ソースを見ようと右クリックしました。
 たまたま画像がたくさん並べられていたスペースだったので、メッセージウィンドウが出てきて
「ソース閲覧&画像保存禁止
    [OK]       」
と書かれていました。このようにするのが一番簡単であれば、その方法を知りたいのですが・・・。初歩的な質問で申し訳ありません。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

<html>


<head>
<title>右クリック禁止</title>
</head>
<body onContextmenu="return false">
右クリックを無効にします
</body>
</html>

body の中に↑のように書き込めば
右クリックを禁止できますよ。

けど、一度自分のPCにHPが表示されれば
キャッシュにそのデータが残ってしまうので
いくら右クリックを禁止しても
データは取られちゃいますけどね
    • good
    • 0
この回答へのお礼

 ありがとうございます。ちょっと疑問に思って聞いてみただけだったんですが、そうですね。よく考えたら画像はプリントスクリーンで、音楽なら(音質はがくっと下がるけど)再生中に録音されてしまえば終わりですよね・・・。
 それに、#1の方に教えていただいた参考URLを見たら、閲覧者はどう思うかという意外に目のさめる意見が載っていてなるほどな、と思わせられました。
 私は「へー、こんなこともできるんだ!」と驚いていましたが(笑)、嫌な気持ちになる人もいるんでしょうね。
 実をいうと、ちょっとこれから戦わなくてはならないかもしれません。もう面倒なので放っておこうかとも思ったのですが・・・。
 詳しいタグまでありがとうございます。大変参考になります。

お礼日時:2001/11/27 12:11

IE6では右クリっクするまでもなくイメージツールバー、と呼ばれる


ツールバー上から、印刷や、保存を行うことができるようになっているため、
スクリプトでの制御以外にも対処が必要になります。

透明のGIFを画像の上に重ねて表示すれば、イメージツールバーからの
画像保存も防ぐことができます。
右クリックからの保存でも透明のGIFを保存するので、スクリプトいらずです。

画像の上に画像を重ねる方法はご自分で考えてみませうね。
    • good
    • 0
この回答へのお礼

 なんだか不具合の話ばかり聞き、まだうちのIEは5.5なんです。6ではいろいろ新機能がついたのですね。
 回答ありがとうございます。
 でも、皆様の回答を拝見してようやく気がつきましたがパソコンってプリントスクリーンなる便利なキーがどのキーボードにも標準装備なんですよね(笑)。だから私みたいに四角い頭だと、右クリックで「画像を保存」が出来ないとかソースが見られない時点で思いつかなかったのですが、悪知恵の働く人だとそういう手間もかけちゃうかもしれないですね・・・。もう諦めて積極的に対決するしかないのかな?
 ありがとうございました。

お礼日時:2001/11/27 12:15

過去質問検索で


右クリック、禁止 javaなどと
キーワードを入れて検索してみてください。

過去にも多数似たような質問がされてきていますので、
スグに見つかると思います。
    • good
    • 0
この回答へのお礼

 あっそれがキーワードですか。全く違う言葉で検索かけていました(^^)。ありがとうございます。試してみます。

お礼日時:2001/11/21 05:39

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

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

Q画像にエリア指定をしてマウスオーバーすると画像が変わり、さらにそのマウ

画像にエリア指定をしてマウスオーバーすると画像が変わり、さらにそのマウスオーバーがフェードで切り替わるということはできないでしょうか?

画像にエリア指定をしてマウスオーバーすると画像が変わるということはできたのですが
その画像の切り替えをフェードでできないでしょうか
問題のコードです
<script>function over(num){
document.getElementById("mg").src="site02/ex/ex_top03"+num+".jpg"
}
function out(){
document.getElementById("mg").src="site02/ex/ex_top03.jpg"
}
</script>

<div id="main_content_ex">
<img id="mg" src="site02/ex/ex_top03.jpg" usemap="#hisigata" border="0" />
<map name ="hisigata">
<area shape="rect" coords="10,498,149,532" href="site02/lightbox/ex.htm" onmouseover="over(1)" onmouseout="out()">
<area shape="rect" coords="582,468,790,496" onmouseover="over(2)" onmouseout="out()">
<area shape="rect" coords="800,465,932,493" onmouseover="over(3)" onmouseout="out()"></div>


jQueryなどのフェードのエフェクトを使用しようかとも思ったのですが、javascriptでmouseOverの画像を指定しているためどう書いていいかわからなくなってしまいました

こういう質問のしかたで大変恐縮なのですが
誰かご教授願えないでしょうか??
scriptもjQueryも基本を理解できておらず、大変困っています。

大変申し訳ありませんが、お願いいたします。

画像にエリア指定をしてマウスオーバーすると画像が変わり、さらにそのマウスオーバーがフェードで切り替わるということはできないでしょうか?

画像にエリア指定をしてマウスオーバーすると画像が変わるということはできたのですが
その画像の切り替えをフェードでできないでしょうか
問題のコードです
<script>function over(num){
document.getElementById("mg").src="site02/ex/ex_top03"+num+".jpg"
}
function out(){
document.getElementById("mg").src="site02/ex/ex_top03.jpg"
}
</script>

<div id="m...続きを読む

Aベストアンサー

別に、フェードのところだけjQuery使えばよいと思いますけど、全部jQueryで
書きなおしても手間かからないと思うけど、作ってみたぞい。
<script type="text/javascript">
var fadein = function (node,interval){
 this.counter = 0;
 this.target = node;
 this.interval = interval;
 this.timerId = setInterval((function(that){
  return function(){that.loop();};
 })(this),this.interval);
 this.stop = function () {
  this.timerId && clearInterval(this.timerId);
  this.timerId = null;
 };
 this.loop = function(){
  //this.target.style.width=this.counter+"px";
  //this.target.style.height=this.counter+"px";
  this.target.style.opacity = this.counter / 100;
  this.target.style.filter = "alpha(opacity=" + this.counter + ")";
  if( ++this.counter>100) this.stop();
 };
};

var fadeout = function (node,interval){
 this.counter = 100;
 this.target = node;
 this.interval = interval;
 this.timerId = setInterval((function(that){
  return function(){that.loop();};
 })(this),this.interval);
 this.stop = function () {
  this.timerId && clearInterval(this.timerId);
  this.timerId = null;
 };
 this.loop = function(){
  //this.target.style.width=this.counter+"px";
  //this.target.style.height=this.counter+"px";
  this.target.style.opacity = this.counter / 100;
  this.target.style.filter = "alpha(opacity=" + this.counter + ")";
  if( --this.counter<0) this.stop();
 };
};

function over(num){
 var target=document.getElementById("mg");
 target.src="site02/ex/ex_top03"+num+".jpg"
 fadein(target,20);
}
function out(){
 var target=document.getElementById("mg");
 target.src="site02/ex/ex_top03.jpg"
 fadeout(target,20);
}
</script>

どうせ、他人が作ったのを張り付けるだけなら、jQuery使うのとかわらんぞ
特に、私なんぞのコード使うぐらいなら、jQueryの方がよほど確かだ。

別に、フェードのところだけjQuery使えばよいと思いますけど、全部jQueryで
書きなおしても手間かからないと思うけど、作ってみたぞい。
<script type="text/javascript">
var fadein = function (node,interval){
 this.counter = 0;
 this.target = node;
 this.interval = interval;
 this.timerId = setInterval((function(that){
  return function(){that.loop();};
 })(this),this.interval);
 this.stop = function () {
  this.timerId && clearInterval(this.timerId);
  this.timerId = null;...続きを読む

Q一定時に画像を変え、その画像にリンクを貼るというスクリプトを改造したいのですが

こんにちわ。javascriptはほとんどわかりません。既成のものをHTMLにうめこんだり、スクリプトのHTMLタグ部分を変えたりできる程度です。

今回やりたいのは、数分後に画像を変え、その画像にリンクを貼るというものですが、サンプルであったjavascriptは別ウインドウにリンクを出すというものです。これを別ウインドウではなく、そのままのページにリンク先を表示させるには、どう変えたら良いでしょうか?

http://bunjin.com/java/chang_banner2.html

こちらのjavascriptです。

先述したように、初心者です。理論で教えていただいてもわからないので、できれば具体的に教えていただけると大変助かります。あつかましくて申し訳ありませんが、どなたかお助け下さい。よろしくお願いします。

Aベストアンサー

質問者様が見つけてこられたサンプルのJavascriptを、少しだけ書き換えると出来るかもです。

こんな感じでしょうか。

---------------
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
var item = 0;
function change_IMG() {
item += 1;
if (item > 3) item = 0;
if (document.img.complete) {
if (item == 0) {
document.img.src = "yahoo.jpg";
}
if (item == 1) {
document.img.src = "msn.jpg";
}
if (item == 2) {
document.img.src = "google.jpg";
}
if (item == 3) {
document.img.src = "infoseek.jpg";
}
}
changeLINK();
setTimeout("change_IMG()",5000);
}
function changeLINK() {
if (item == 0) {
document.all['myLINK'].href = "http://ヤフー";
}
if (item == 1) {
document.all['myLINK'].href = "http://エムエスエヌ";
}
if (item == 2) {
document.all['myLINK'].href = "http://グーグル";
}
if (item == 3) {
document.all['myLINK'].href = "http://インフォシーク";
}
}
//-->
</SCRIPT>

</HEAD>
<BODY onLoad="change_IMG();">
<a id="myLINK" href="http://ヤフー">
<img src="yahoo.jpg" NAME="img" border="0">
</A>
</BODY>
</HTML>
---------------


setTimeout("change_IMG()",5000);
↑この部分は、5秒後に change_IMG() を実行するということです。
1秒 = 1000 なので、もし、1分経過するたびに画像とリンク先を変更したいのであれば、
5000 を 60000 に書き換えます。

質問者様が見つけてこられたサンプルのJavascriptを、少しだけ書き換えると出来るかもです。

こんな感じでしょうか。

---------------
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
var item = 0;
function change_IMG() {
item += 1;
if (item > 3) item = 0;
if (document.img.complete) {
if (item == 0) {
document.img.src = "yahoo.jpg";
}
if (item == 1) {
document.img.src = "msn.jpg";
}
if (item == 2) {
document.img.sr...続きを読む

Qopenで開いた子ウィンドウで表示されているソースの一時保存先とファイル名の取得

openメソッドでURLを指定して子ウィンドウを開きます。
この時、子ウィンドウで表示されているURLのソースは、
一時ファイルとしてどこかに保存されていると思うのですが、
その保存先及びファイル名を親ウィンドウから取得することは
可能でしょうか。
よろしくお願い致します。

Aベストアンサー

ちょっと言葉の使い方が悪かったかもしれません。正確には、OSが管理しているというより、ブラウザアプリケーションが管理している部分でしょう。(つまり、ブラウザごとにバラバラ。)

キャッシュフォルダの制御は、それぞれのブラウザが高速化や利便性の向上のためにこれからも変化しつづけると思われます。ちょっと覗いてみたのですが、IEは、ほぼプレーンな形で保存してますが、NNのキャッシュの仕方は、suqidのようなproxyサーバに近い保存の仕方をしてます。よって、仮にキャッシュされている場所またはファイルを特定しても、ユーザエージェント(ブラウザ)によって、アクセスするアルゴリズムを変える必要があります。

JavaScriptでの過去の履歴にアクセスするのは、history.*以外ではできなさそうですし、やはり難しいのではないでしょうか。

なぜキャッシュされているファイルと対応にこだわっているのかはちょっと分かりませんが、何らかの目的のための一つの方法としてそれがあるだけだと思うので、別なアプローチに変更した方が良いように思われます。

Q画像クリックでテキストエリアにソース表示

こんにちは。
色々調べてみましたが壁にぶつかってしまい、こちらで質問させて頂きます。
内容は、バナー画像が数種類ありその画像をクリックすると、
テキストエリアに設置タグを表示するという事がしたいです。
また、違うバナー画像をクリックすれば前回表示されていたタグは
消えて、新しいタグが表示するようにしたいです。(テキストエリアは同じ)
みなさまどうかご教授頂ければ幸いです。

Aベストアンサー

サンプルです。

<script type="text/javascript">
function sample(o){
var code = { //クリックしたimgのaltに対応したタグ
'バナー1':'<a href="~"><img ~><\/a>',
'バナー2':'<a href="~"><img ~><\/a>'
};
document.getElementById('TX1').value=code[o.alt];
}
</script>

<img src="バナー1のurl" alt="バナー1" onclick="sample(this)">
<img src="バナー2のurl" alt="バナー2" onclick="sample(this)">
<textarea id="TX1"></textarea>


注意
貼り付けるコードに改行を入れたければ\nを入れる。
コード中の </ は <\/ と表記する。

Q画像拡大スクリプトのソース内で・・・疑問

画像拡大スクリプトのソース内で・・・疑問

highslide-with-gallery.jsと言う
画像拡大のスクリプトを利用していますが
IEで不具合があるので原因究明に
ソースを見ています

ですが、よくわからないので教えてください

1298行目くらいに
img.src = this.src;

といった記述があります

デバッグかけながら
動きを追いかけていたんですが

1303行目以降
contentLoaded : function() {}
この関数が実行されています


1298行目
img.src = this.src;

と記述するだけで
どうして

1303行目以降
contentLoaded : function() {}

この関数を実行できてしまうのでしょうか?


【contentLoaded】でファイル内検索を掛けても
特に呼び出している箇所が見当たりませんでした


何か特殊な方法がありますか?


と言うか
そもそも
this.content.width;
this.content.height;

この2つがいったいいつ取得できたのかを
知りたいと思っています

highslide-with-gallery.jsをお持ちの方
ご教授ください!

画像拡大スクリプトのソース内で・・・疑問

highslide-with-gallery.jsと言う
画像拡大のスクリプトを利用していますが
IEで不具合があるので原因究明に
ソースを見ています

ですが、よくわからないので教えてください

1298行目くらいに
img.src = this.src;

といった記述があります

デバッグかけながら
動きを追いかけていたんですが

1303行目以降
contentLoaded : function() {}
この関数が実行されています


1298行目
img.src = this.src;

と記述するだけで
どうして

1303行目以降
contentLoaded : fu...続きを読む

Aベストアンサー

//highslide-with-gallery.js Version 4.1.9 (2010-07-05)から抜粋
imageCreate : function() {
 var exp = this;
 var img = document.createElement('img'); //img要素生成
 this.content = img; //img要素参照代入
 //読込み完了時にcontentLoadedメソッド呼出し
 img.onload = function () {
  if (hs.expanders[exp.key]) exp.contentLoaded(); //contentLoadedメソッド呼出し
 };
 //IEはimg要素のonloadイベントハンドラが実行されないケースがあるようです

 ...

 img.src = this.src; //src属性値設定

 ...
},
contentLoaded : function() {

 ...

 //this.contentはimg要素への参照
 x.full = this.content.width; //width属性にアクセス
 y.full = this.content.height; //height属性にアクセス

 ...

}

これでなんとなく流れを掴めるでしょうか?
contentLoadedメソッドが確実に呼出されているか確認してみて下さい。

//highslide-with-gallery.js Version 4.1.9 (2010-07-05)から抜粋
imageCreate : function() {
 var exp = this;
 var img = document.createElement('img'); //img要素生成
 this.content = img; //img要素参照代入
 //読込み完了時にcontentLoadedメソッド呼出し
 img.onload = function () {
  if (hs.expanders[exp.key]) exp.contentLoaded(); //contentLoadedメソッド呼出し
 };
 //IEはimg要素のonloadイベントハンドラが実行されないケースがあるようです

 ...

 img.src = this.src; //src...続きを読む


人気Q&Aランキング

おすすめ情報