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

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

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

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

8732閲覧

ブラウザのアドレスバーのURLにjavascriptを含めることは可能か?

taro_nii_chan

総合スコア207

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2018/07/03 03:06

編集2018/07/03 04:38

前提

イメージ説明
こんな見た目のページを作ったとします。
下の「1 2 3 4 5」はクリックすると上の数字が書き換わります。
実装は javascript でしています。

MAMP で動かしていて、このページのURLは
http://localhost/test/index3.html
です。

やりたい事

このページにアクセスするとき、アドレスバーに
javascript: showPage(3);
などの指定を含めて、ページ読み込み時に javascript を走らせたいです。

セキュリティ上、危なさそうにも思えるので無理かなとも思うのですが、
出来ますでしょうか?

ソース

html

1<!DOCTYPE html> 2<html lang="ja" dir="ltr"> 3 <head> 4 <meta charset="utf-8"> 5 <title>test3</title> 6 <style> 7 li { 8 float: left; 9 list-style: none; 10 margin-left: 5px; 11 } 12 </style> 13 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 14 <script> 15 $(function() { 16 showPage = function(i) { 17 $("#count").html(i); 18 } 19 showPage(1); 20 }); 21 </script> 22 </head> 23 <body> 24 <div id="count"></div> 25 <ul> 26 <li><a href="javascript: showPage(1)">1</a></li> 27 <li><a href="javascript: showPage(2)">2</a></li> 28 <li><a href="javascript: showPage(3)">3</a></li> 29 <li><a href="javascript: showPage(4)">4</a></li> 30 <li><a href="javascript: showPage(5)">5</a></li> 31 </ul> 32 </body> 33</html>

追記 2018.7.3 13:38

質問をした後で回答やコメントを頂き実は本当の疑問は別のところにあったことに気付いたので追記させていただきます。

価格.com - 自動車 スペック検索

というサイトをスクレイピングしたいというのが元々のやりたい事でした。

もっと言えば、このサイトにこだわりはなく、
世に出回ってる車の「メーカー」と「車種」に対してその「車両重量」と「排気量」が分かれば何でもいいのです。

初めから「全車種の車両重量と排気量を教えてください」では流石にteratailさんに申し訳ないので、問題を切り分けるために上記サイトを簡略化して自作してみたという経緯でした。

分かりづらくて申し訳ありません。

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

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

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

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

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

papinianus

2018/07/03 05:22

プログラミング関係なくなるのであくまで参考として。http://naspa.jp の下部に[本ツールで提供される情報は 自工会HP 及び 輸入組合HP で開示されているデータに基づいています]と記載があり、それぞれリンクを辿るとpdfが取れます。
taro_nii_chan

2018/07/03 08:23

http://naspa.jp/ が「軽自動車の検索はこちらから」という事もあり、 隈なく見たつもりですが僕の力では ・電気自動車・燃料電池自動車、プラグインハイブリッド自動車、クリーンディーゼル乗用車、天然ガス自動車、重量車 ・低燃費かつ低排出ガス認定自動車【登録車】 ・低燃費かつ低排出ガス認定自動車【軽自動車】 しか見つけられませんでした。それでもデータ量としては十分過ぎる量でした。 ありがとうございました。
guest

回答2

0

ベストアンサー

ブラウザのJSで動かせるのは、せいぜいWindowオブジェクトまでで、それ以上の指示をブラウザに与えたいなら、拡張機能のようなものを作り込まないと無理ですね。
スクレーピングをするなら、専用のソフトを使えば簡単そうです。参考例
より、本格的にやるならseleniumをつかえば自在にブラウザを操作できます。参考例

投稿2018/07/03 03:39

satocha

総合スコア336

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

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

taro_nii_chan

2018/07/03 03:47

ありがとうございます。「参考例」を見ようとしたのですが、どちらも 404 のようでした。selenium は名前だけ知ってるので調べてみようと思います。
m.ts10806

2018/07/03 04:27

横からすみません。 リンク先の間違いは回答を修正してもらえると・・・
guest

0

urlに書き込む意味がないのでやめたほうがいいでしょう。
jQueryであれば

$(function() {})内で、showPage(3)を実行すればいいだけですし
任意に番号を渡したいなら?id=3とか#3とか適当なパラメータ渡しを
してください

投稿2018/07/03 03:14

yambejp

総合スコア114769

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

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

taro_nii_chan

2018/07/03 03:30

早速のご回答、ありがとうございます。指摘されて何故これをやりたかったのかを思い出したのですが、このWebページは僕が作ったので、教えていただいたやり方で十分なのはよく分かりました。ただ、実際にしたかったのは他人の作ったページを見たらこんな作りをしていて、リンクをクリックすると表示内容が置き換わるという形でした。もっと言うと、まだほぼやった事のないスクレイピングをやってみたくなって、その前提としてサンプルとして作った僕のサイトにURLに混ぜてjavascriptを指定できたらなと言うのが元々の発想でした。例えばの話をしていても良くないので、スクレイピングをやってみたいと思ったサイトのURLを書きます。「http://kakaku.com/kuruma/spec-search/」です。この場合、どうアプローチしたら良さそうですか?
yambejp

2018/07/03 03:40

任意の動作を外側から制御するにはそれ用のuiが必要でしょう サービス側がそれを許すのであればapiとして提供されているはずです そうでなければ全くの他人がつくったページであれば勝手な制御は 難しいと思ったほうがよいでしょう もちろんjavascriptを解釈する仕組みを自力で実装すれば 絶対にできないということはないと思いますが 相当ハードルはあがります
taro_nii_chan

2018/07/03 03:49

ありがとうございます。そうですか、難しいですか。分かりました。ありがとうございます。
m.ts10806

2018/07/03 04:20 編集

<a href="javascript:ChangePage(1);">1</a> ↑hrefにjavascriptの関数埋め込んでるだけですよね、これ。 と思ったけど、質問内容とこのコメントを読んで何がしたいのか全く分からなくなりましたね。 質問に追記しておいてください。 (回答へのコメントは改行できるので適宜改行入れたほうが伝えたいことが伝わりやすくなりますよ)
m.ts10806

2018/07/03 04:30 編集

セットしてサブミットしてるから無理じゃないですかね。というかこのサイト スクレイピングOKなんでしょうか。 あとはセレニウムで動かすとかですかね。要件満たせるか知りませんが。
taro_nii_chan

2018/07/03 04:40

質問に追記させていただきました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問