質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

233閲覧

現在開いているページURLの一部を読み込んで画像を表示させたい。

fudo

総合スコア8

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/06/05 00:23

編集2018/06/05 00:27

現在開いているページURLが例えば

http://example.com/?num=12345

だとして

画像のアドレスが http://test.jp/12345.jpg として
任意の場所に表示をさせたいのですが方法がわかりません。
(アドレスの 12345 の部分が同じとなるので自動で表示させたい)

<div id="img"></div> <script> var img_id =xxxx;// document.getElementById('img').innerHTML = '<img src="http://test.jp/+img_id+.jpg">'; </script>

このあたりのscriptかとは思いますが…
.location.href =

なども使用するかとは思います。素人なので調べても出てきませんでした。

現在開いているページURLの一部を指定して、それが画像のURLとなり、任意の場所へ表示する
ためのscriptを教えていただけますでしょうか。よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2018/06/05 00:24

質問編集画面タイトル横にある「初心者アイコン」をご活用ください。「初心者」と質問で書くよりも伝わりますし、質問一覧に表示されるのでわかりやすくなります。
fudo

2018/06/05 00:28

今後に役立つ情報をありがとうございます!さっそく追加しました。
guest

回答2

0

おそらく「探し方が分からない」のだとお見受けしました。

?num=12345

この部分「クエリストリング」と呼ばれています。
「javascript クエリストリング 取得」
などで調べれば取得の方法は出てきます。

例:

「クエリストリング」を「URLパラメータ」に変更しても同じような記事が出てきます。

例:

location.searchを使う方法が多いですね。

locationオブジェクトのsearchプロパティは、現在ページURLのサーチ情報(?で始まる検索クエリ部分)を参照します。

投稿2018/06/05 00:29

m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fudo

2018/06/05 00:31

ありがとうございます。さっそく調べてみます!
guest

0

ベストアンサー

こんな感じでどうでしょうか

javascript

1// クエリ文字列を取得 2var queryString = window.location.search; 3var imgId = ""; 4// 初めに1文字を削除し&で分割 5queryString.slice(1).split("&").forEach(function(query) { 6 // =で分割 7 var querySet = query.split("="); 8 // pid= だったら、imgIdにその文字列をセット 9 if (querySet[0] === "pid") { 10 imgId = querySet[1]; 11 } 12} ); 13 14// 画像要素を探す 15var imgElement = document.getElementById('img'); 16// 画像要素のsrc属性にURLをセット 17imgElement.src = "http://img21.shop-pro.jp/PA01325/600/product/" + imgId + "_o1.jpg";

投稿2018/06/05 03:39

編集2018/06/05 09:03
sagami1991

総合スコア216

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fudo

2018/06/05 05:20

ありがとうございます。すみません。さらにお聞きしたいのですが、 http://antique-leaves.com/?pid=127379465 というurlのページの場合はどのようなコードを書けばよいでしょうか。 そのページ内の任意の場所に画像を読み込み、表示させたい場合は いただいたscriptを編集して <div id=""></div> をすきな場所に置けばよいのでしょうか。 この場合に読み込ませたい画像のurl は http://img21.shop-pro.jp/PA01325/600/product/127379465_o1.jpg です。 http://antique-leaves.com/?pid=130473544 というurlのページの場合の画像は http://img21.shop-pro.jp/PA01325/600/product/130473544_o1.jpg といった具合です。 説明が不十分ですが、よろしくお願いします。 また、こちらもいただいたscriptを試してみたいと思います。本当にありがとうございます。
sagami1991

2018/06/05 05:33

<div id=""></div>ではなく、画像タグをそのまま置けばいいと思います。 <img id="img" src="" /> みたいな。 自分のコードは画像タグに直接URLをセットしてます。 クエリパラメータをpidに変えて、画像URLも変更したのを編集しておきました。
fudo

2018/06/05 05:44

<div Id="img"></div> <script> var queryString = window.location.search; var imgId = ""; queryString.slice(1).split("&").forEach(function(querySet) { querySet.split("="); // num= if (querySet[0] === "pid") { imgId = querySet[1]; } } ); var imgElement = document.getElementById('img'); imgElement.src = "http://img21.shop-pro.jp/PA01325/600/product/" + imgId + "_o1.jpg"; </script>
fudo

2018/06/05 05:46

ありがとうございます。 先程のは間違えて投稿しました。 さっそくやってみます!!
fudo

2018/06/05 05:58

<img id="img" src="" /> <script> var queryString = window.location.search; var imgId = ""; // 初めに1文字を削除し&で分割 queryString.slice(1).split("&").forEach(function(querySet) { // =で分割 querySet.split("="); // pid= だったら、imgIdにその文字列をセット if (querySet[0] === "pid") { imgId = querySet[1]; } } ); // 画像要素を探す var imgElement = document.getElementById('img'); // 画像要素のsrc属性にURLをセット imgElement.src = "http://img21.shop-pro.jp/PA01325/600/product/" + imgId + "_o1.jpg"; </script> を試してみましたが、画像urlが http://img21.shop-pro.jp/PA01325/600/product/_o1.jpg となってしまいます。何度もすみません。どこか間違ってますでしょうか。
sagami1991

2018/06/05 09:04

こちらのコードが誤っていました。以下の部分で変数への代入を忘れていました。 修正しておきました。 ```javascript // =で分割 querySet.split("="); ```
fudo

2018/06/05 09:17

ありがとうございます!!できました!感激です。 説明まで書いてあるので大変勉強になりました。 本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問