こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

html内に記述するJavascriptについて

webに遅延情報を記載するHTMLを作成しているのですがJavascriptの結果が表示されません当方まだ学習中であり初歩的なミスなどあるかもしれませんがよろしくお願いいたします。
<!DOCTYPE html>
<html>
<head>

</head>

<body>
<h1>遅延情報</h1>

<script language="JavaScript">
function (lind){

var json = JSON.parse(UrlFetchApp.fetch("https://rti-giken.jp/fhc/api/train_tetsudo/delay.json").getContentText());

var data1 = [
{nam:"豊肥本線",compan:"JR九州"},
  {nam:"横浜線",compan:"JR西日本"},
]

var lind ="";

data1.forEach( function( value ) {

var nam=value.nam;
var compan=value.compan;

json.forEach( function( value ) {

var name=value.name;
var company=value.company;


if(nam === name && compan === company){
lind='周辺の鉄道が遅延しています';

}
});
});

if(!lind) {
lind='遅延情報はありません';
}

document.getElementById(“text”).innerHTML = lind;

}
</script>
<div id=”text”></div>
</body>
</html>

投稿日時 - 2018-11-07 16:35:42

QNo.9555480

困ってます

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

即時実行関数の場合
(function (){ ・・・ })();
という書き方をしないと実行されませんし、引数は無意味です。

var data1 = [ ・・・ ]
の部分は最後の ; が抜けています。

document.getElementById(“text”).innerHTML = lind;
で使われているダブルコーテーションが全角になっています。

UrlFetchApp.fetch()
はGoogle App Scriptの関数なのでブラウザでは利用できません。

投稿日時 - 2018-11-07 18:28:56

お礼

ありがとうございますお恥ずかしい質問だったのですが助かりました

投稿日時 - 2018-11-07 18:50:33

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

え~っと、まずその例文中の…

UrlFetchApp.fetch('~').getContentText()

~てのはJavascriptの関数では無く、GAS(Google Apps Script)にのみ実装された特別な関数なので、普通にHTMLファイルとして記述してもエラーになるだけで何も起きません。

なので正しくGASとしてコードを実行させるか、或いは元から完全に標準のJavascriptのみでコードを書き直す必要があります。

JSにはPHPの file_get_contents() に該当する様な外部ファイルを読み込む関数は無かったと思うので、JS用のライブラリを別途に導入するか、困った時のjQueryで何とかするしか無いと思います。

投稿日時 - 2018-11-07 18:26:51

お礼

ありがとうございます。お恥ずかしい質問だったのですが助かりました

投稿日時 - 2018-11-07 18:51:10

あなたにオススメの質問