WEBページをURLで指定して、そのページ内の全文字を1つの文字列として、JavaScriptのプログラム内の変数に読みこみたいと思います。JavaScriptで工夫して、何とかできるでしょうか?できる場合、やり方をお教え下さい。

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

A 回答 (3件)

<html>


<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<head>
<style>
A { BEHAVIOR: url(#default#download) }
</style>
<SCRIPT LANGUAGE=javascript>
function s(a){
window.alert(a);
}
</SCRIPT>
</head>
<body>
<p>InternetExplorer5以上で</p>
<P>このページがあるホームページスペース内なら変数に取り込めます。<BR>
(同じサーバー内でも出来るかも)</P>
<P>
<A id=oD href="javascript:oD.startDownload('index.html',s);">
サイト内のファイル</A>(index.html)</P>
</body>
</html>

この回答への補足

ありがとうございます。 他のサーバー内のページの文字列を、変数にとりこめるでしょうか?

補足日時:2002/10/06 04:28
    • good
    • 0

>他のサーバー内の・・・・


無理みたいですね。
リンクを相対指定で書かなきゃ駄目みたいですよ。
    • good
    • 0

ファイルのオブジェクトがないので、


JavaScriptでは出来ないと思います。

文字列に入れるというのは無理でも、
ただ表示するだけなら出来るでしょうが…
(<iframe>のパラメータを変えるとか)
それでは意味ないですよねえ

この回答への補足

ファイルのオブジェクトがないのですか。何か方法があればいいのですが、残念です。

補足日時:2001/09/13 08:49
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

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

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

Qjavascriptの質問です。URLからパラメータを取得し特定箇所だけページ内で使用したい

先日質問させていただいて一度は解決したのですが、
さらに別要素が加わってしまい再投稿となりました。

javascriptの質問です。URLからパラメータを取得し
ページ内にあるクラスが付いたリンクへ後付したいと思います。

現在は、パラメータ部分全部がリンクへ後付してしまっており
?url=http://www.t.com/x.pdfは削除して、?yy=123&pdf=dw だけ
リンクに後付したいと思います。

■取得元URL例
http://www.a.com/a.html?url=http://www.t.com/x.pdf?yy=123&pdf=dw

■リンク後付に欲しい部分
?yy=123&pdf=dw

★結果、こうなって欲しいリンクアドレス
http://www.aaa.com/aaa.pdf?yy=123&pdf=dw


現在以下の形になっており、class名[code]が付いたリンクタグの
hrefアドレスに後付する形になっております。

どうぞお力添えいただけないでしょうか。
よろしくお願いします。

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script type="text/javascript">
window.onload = function GetQueryString() {
var search = document.location.search;
var targets = document.querySelectorAll('a.code');
for (var i = 0; i < targets.length; i++) {
var target = targets[i];
var url = target.href;
url = url.replace(/\?.*$/,'');
url += search; // 現URLのパラメータ
target.href = url;
}
}
</script>
</head>
<body>
<div>パラメーター</div>
<a class="code" href="http://www.aaa.com/aaa.pdf">コード発行</a>
</body>
</html>

先日質問させていただいて一度は解決したのですが、
さらに別要素が加わってしまい再投稿となりました。

javascriptの質問です。URLからパラメータを取得し
ページ内にあるクラスが付いたリンクへ後付したいと思います。

現在は、パラメータ部分全部がリンクへ後付してしまっており
?url=http://www.t.com/x.pdfは削除して、?yy=123&pdf=dw だけ
リンクに後付したいと思います。

■取得元URL例
http://www.a.com/a.html?url=http://www.t.com/x.pdf?yy=123&pdf=dw

■リンク後付に欲しい部分
?yy=1...続きを読む

Aベストアンサー

こんなかんじで如何でしょうか?

var src = 'http://www.a.com/a.html?url=http://www.t.com/x.pdf?yy=123&pdf=dw';
var target = 'http://www.aaa.com/aaa.pdf';

var palam;
var palams = src.match(/\?[^\?]+/g); // ?で始まる文字列(=パラメータ)を配列palamsに入れる

for(i=0; i<palams.length; i++){ // 見つかったパラメータの中で
if(/^\?yy=/.test(palams[i])){ // '?yy='で始まるパラメータをpalamにいれる
palam = palams[i];
break;
}
}
target += palam;

Qhtml内でJavaScriptで参照先をページ内にオープン。の続き。

こんにちは。
https://oshiete.goo.ne.jp/qa/8966803.html で質問したものです。
回答者様No.2の fujillin様のご回答で下記を頂きました。

////////////////////
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head><title>sample</title>
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">

<script type="text/javascript">

//読込先のURLデータ(複数化できるように)
var urls = {
 fuga : "fugafuga.html"
}

//クリック時の処理関数
function hoge(e, id){
 var elm = document.getElementById(id);
//対象要素が存在しなければ何もしない
 if(!elm) return;

 var obj = elm.getElementsByTagName("iframe");

//「表示」処理
 if(e.value == "表示"){

//  すでに読み込んでいる場合(CSSで表示する)
  if(obj.length){
   obj[0].style.display = "block";
   statusSet("非表示→表示");
  }

//  最初に読み込む場合(要素を追加する)
  else {
   var o = document.createElement("iframe");
   o.src = urls[id];
   elm.appendChild(o);
   statusSet("要素作成、読込み");
  }
  e.value = "隠す";
 }

//「隠す」処理
 else {
  obj[0].style.display = "none";
  e.value = "表示";
  statusSet("表示→非表示");
 }

//動作状況表示用(本来は不要です)
 function statusSet(str){
  var c, elm = document.getElementById("message");
  while(c = elm.firstChild) elm.removeChild(c);
  elm.appendChild(document.createTextNode(str));
 }
}
</script>
</head>

<body>
<div>
<input type="button" onclick="hoge(this, 'fuga')" value="表示">
&emsp;【 状態 】 <span id="message">初期状態</span>
</div>

<div id="fuga"></div>

</body>
</html>
////////////////////
思っていたことはこれで適いましたが、JavaScriptを外部.jsに入れることがどうしても出来ませんでした。<script>内を全て外部.jsへ入れましたがダメでした。

また、提示された方法はボタンをクリックなのですが、私は
<a href="~">開くにはここをクリック</a>
みたいにしてやりたいです。

これの方法として試したのは、
<div>
<a href="JavaScript:hoge(this, 'fuga');" id="開くにはここをクリック" value="開くにはここをクリックラ">&emsp;【 状態 】 <span id="message">開くにはここをクリック</span></a>
</div><div id="fuga"></div>
などいろいろ試したのですが、どうしてもボタンではないためか、関数呼び出しが出来ませんでした。また、thisの使い方も検索したのですが判りませんでした。
そもそも外部ファイルの関数にした場合、thisでもOKなものなのか…?


お分かりの方、御教示願えないでしょうか?
よろしくお願いいたします。

こんにちは。
https://oshiete.goo.ne.jp/qa/8966803.html で質問したものです。
回答者様No.2の fujillin様のご回答で下記を頂きました。

////////////////////
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head><title>sample</title>
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">

<script type="text/javascript">

//読込先のURLデータ(複数化できるように)
var urls = {
...続きを読む

Aベストアンサー

ANo2です


>複数の関数化が必要と思うのですが、関数化した場合、
>  ~~~~~
>として、呼び出し側ではどう関数を呼び出したら良いでしょうか?
hogehoge.js全体を一つの関数化して(匿名関数でもOK)、それぞれの関数内で、hoge、fuga、status等を定義するようにして実行すれば可能です。(No2は一個限定なのでグルーバル変数にしているものを個別に定義するため)
対象が2~3箇所であるなら、個々に設定しても大したことはないでしょうが、多くなってくると一括で処理できる方が便利ですよね。
その際には、「クリックされた要素」、「対象とする要素」、「URL」などを特定できるような仕組みが必要となります。最初の回答は、多少それを意識したものでした。
(thisはクリック要素、idが対象要素、urlsがurlの連想配列などになっていました)

基本的にクリックイベントの発生時の処理として記述していますが、前回はHTML内に「onclick="~~"」を記述することで行っていましたが、ANo2ではスクリプト内からイベント設定を行っています。
 trigger.onclick = function(){ ~~ }
がこれにあたります。


ご質問文からは実際の使われ方がよくわからなかったので(HTML構成や複数あるのかなどなど)、手探りで(適当に)例として作成していました。
HTMLの構成にある程度のルールを決められれば、this値やidを使用しなくとも特定できるようになるので、スクリプトが多少複雑になっても、HTMLを単純化することが可能になります。
また、変更が生じる毎にスクリプトを書き直さねばならないとか、ページ毎にjsファイルを作成しなければならないという不便さも解消できます。
できるだけ個別の情報はHTML側に記載して、一般化した処理をスクリプトで行うようにしておく方が再利用しやすくなるでしょう。

何度か説明を頂いて、だいたいの雰囲気が分かってきましたのが、勝手に想定しましたが、下記のようなものが良いのかも知れません。


おまけ
>trigger.innerHTML = status==1?str[1]:str[0];
>などという書き方は意味不明
「条件演算子(三項演算子)」と言われるもので、上記の例で言えば
 if(status==1) trigger.innerHTML = str[1];
  else trigger.innerHTML = str[0];
と等価です。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Expressions_and_Operators#Special_operators



【構文ルール】
基本構成を以下のようなものにしています。
 <div class="linkLoader">
  <a class="open" href="piyopiyo.html">開く</a>
  <a class="close" href="#">閉じる</a>
  <div class="showbox"></div>
 </div>
※ クラスlinkLoader要素を単位として、.open、.close、.showboxを設置
※ .open、.closeはA要素で、表示用の文字列は個別に記述できます
※ .openをクリックすると.showbox内にiframeが生成され(最初のみ)
  A要素のhref属性が参照するurlを意味します
※ 要素の位置関係は.linkLoader内であれば自由。階層が変わってもOK。
※ linkLoaderどうしや他のクラスもネストすることはできません

【HTML(サンプル)】
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head><title>sample</title>
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<style type="text/css">
.linkLoader .showbox iframe{ width:100%; height:300px; }
</style>
</head>

<body>
<div class="linkLoader">
日経新聞
<a class="open" href="http://www.nikkei.com/">開く</a>
<a class="close" href="#">閉じる</a>
<div class="showbox"></div>
</div>

<div class="linkLoader">
読売新聞
<a class="open" href="http://www.yomiuri.co.jp/">表示</a>
<a class="close" href="#">隠す</a>
<div class="showbox"></div>
</div>

<div class="linkLoader">
朝日新聞
<a class="open" href="http://www.asahi.com/">オープン</a>
<a class="close" href="#">クローズ</a>
<div class="showbox"></div>
</div>

<script type="text/javascript" src="hogehoge.js"></script>
</body>
</html>


【hogehoge.js】
(全角空白は半角に)
(function(){
 var clsCheck = function(e, c){
  return new RegExp("(^| )" + c + "( |$)").test(e.className);
 }

 var searchLoader = function(e){
  while(e && !clsCheck(e, "linkLoader")) e = e.parentNode;
  return e;
 }

 var dispControl = function(e, sel, disp){
  var i, e, elms = e.querySelectorAll(sel);
  for(i = 0; e = elms[i++];) e.style.display = disp;
 }

 var handler = function(evt){
  var t = evt.target || evt.srcElement;
  if(t.nodeName != "A") return;
  var e = searchLoader(t);
  if(!e) return;

  if(clsCheck(t, "open")){
   var box = e.querySelector(".showbox");
   if(!box) return;
   if(!box.querySelector("iframe")){
    var frm = document.createElement("iframe");
    frm.src = t.href;
    box.appendChild(frm);
   }
   box.style.display = "block";
   dispControl(e, ".open", "none");
   dispControl(e, ".close", "inline");

  } else if(clsCheck(t, "close")){
   dispControl(e, ".close", "none");
   dispControl(e, ".showbox", "none");
   dispControl(e, ".open", "inline");
  }
  if(evt.preventDefault) evt.preventDefault(); else evt.returnValue = false;
 }


 dispControl(document, ".linkLoader .close", "none");
 dispControl(document, ".linkLoader .showbox", "none");
 if(document.addEventListener) {
  document.addEventListener('click', handler, false);
 } else if(document.attachEvent) {
  document.attachEvent('onclick', handler);
 }
})();

ANo2です


>複数の関数化が必要と思うのですが、関数化した場合、
>  ~~~~~
>として、呼び出し側ではどう関数を呼び出したら良いでしょうか?
hogehoge.js全体を一つの関数化して(匿名関数でもOK)、それぞれの関数内で、hoge、fuga、status等を定義するようにして実行すれば可能です。(No2は一個限定なのでグルーバル変数にしているものを個別に定義するため)
対象が2~3箇所であるなら、個々に設定しても大したことはないでしょうが、多くなってくると一括で処理できる方が便利ですよね...続きを読む

QHTML内でJavaScriptの変数を使いたい

<script language="JavaScript">
<!--
function fnc_prompt(){
var msg;
msg = window.prompt("URL","");
}
//-->

で、msgにURLを代入して、

<form action="&{msg};" method="post">

フォームタグ内でその変数を使いたいのですが可能でしょうか。


よろしくお願いします。

Aベストアンサー

これでどうですか?

<script language="JavaScript">
<!--
function fnc_prompt(){
var msg;
msg = window.prompt("URL","");
// この一行追加
document.form1.action = msg;
}
//-->

formタグには、適当なname属性を追加。
<form action="" name="form1" method="post">

Q[Javascript] キーボードからの入力と変数の文字列(カンマやピリオド…)を一致させるには?

下記のコードのように、 <p id="target"></p>内に、文字列「I can't believe it.」を表示し、PCのキーボードより入力をおこない、もし一文字が正解なら、'_' (アンダースコア) に変換して、次の文字に繰り返し進んでいくというプログラムです。ここで、ひとつ問題がありまして、「I can't believe it.」という文字列のカンマと、ピリオドが、キーボードからの入力では、処理されず '_' に変換されません。 おそらく  if (String.fromCharCode(e.keyCode) === cw[cl].toUpperCase()) { の部分が、英文字にだけ等しくなっっているようで、ここにカンマやピリオドも含めるようにするにはどのように書いたらよいでしょうか?  また、他にも、今回は、「I can't believe it.」と表示していますが、数値も含める場合、「shibuya101」などの文字列にしたばあいも、数値の部分で処理されていないので、数値も含めるばあいもどのように書いたらよいのか教えてください。よろしくお願いします。



<!DOCTYPE html>
<html lang="ja">
<body>

<p id="target"></p>

<script>
(function() {
'use strict';

var cw = 'I can\'t believe it\.';
var cl = 0;
target.innerHTML = cw;

window.addEventListener('keyup', function(e) {

if (String.fromCharCode(e.keyCode) === cw[cl].toUpperCase()) {
cl++;
var placeholder = '';
for (var i = 0; i < cl; i++) {
placeholder += '_';
}
target.innerHTML = placeholder + cw.substring(cl);

}

});

})();
</script>

</body>
</html>

下記のコードのように、 <p id="target"></p>内に、文字列「I can't believe it.」を表示し、PCのキーボードより入力をおこない、もし一文字が正解なら、'_' (アンダースコア) に変換して、次の文字に繰り返し進んでいくというプログラムです。ここで、ひとつ問題がありまして、「I can't believe it.」という文字列のカンマと、ピリオドが、キーボードからの入力では、処理されず '_' に変換されません。 おそらく  if (String.fromCharCode(e.keyCode) === cw[cl].toUpperCase()) { の部分が、英文字にだ...続きを読む

Aベストアンサー

こんにちは

このあたりが参考になるかもです
http://javascripttyping.game.coocan.jp/javascript2/3_2.html

QjavaScriptの変数をJavaの変数に代入する。

jspで作ったプログラムがあるこのような場合変数を共有する方法はありますでしょうか?
以下の場合iの(JavaScript)値をjavaの変数iに代入したい場合どうすればいいでしょうか?

<%! String s[] ={A,B,C,D,E} %>
function chek(){
for(i = 0;i< 5 ;i++){
<%! int i =%> = i;//←この部分です
//document.form1.desc.valueにはBの値が入っている
if(<%! s[i] %> == document.form1.desc.value){
alert("Bです");
}
}

Aベストアンサー

for文をJSPで記せばよいかと思います。
<%
for(i=0;i<5i++){
%>
if(<%! s[i] %> == document.form1.desc.value){
alert("Bです");
}
<%
}
%>


人気Q&Aランキング

おすすめ情報