• ベストアンサー

外部からのjs呼び出しについて。

はじめまして。 最近、ジャバスクリプトを外部から呼び出せる事を知りました。 私が作成したHPは小窓表示が多のですが 小窓を表示させるリンクを作成のたび、長いタグを使っていると正直萎えてしまうのです。 なので、外部からスクリプトを呼び出せば長いタグを打つ手間が省けると考えました。 しかし、試したものの動かず… .jsのシートに表記したのは以下のタグ。 function win1(){ window.open('○.htm','chip',' resizable=リサイズボックス有無,menubar=メニュ-バ-有無, status=ステ-タスバ-有無,location=ロケ-ションバ-有無, scrollbars=スクロ-ルバ-有無,toolbar=ツ-ルバ-有無, width=窓の横幅,height=窓の縦幅');} ・function win1()の1の番号は2つ以上の小窓を出す為、リンクのウィンドウ番号です。 Htmlファイル<head>~</head>の間には以下のタグ。 <script type="text/javascript" src="○○.js"></script> Htmlファイル<body>~</body>の間に書いたリンクのタグ。 <a href="javascript:win1()">小窓のリンク</a> ・javascript:win1()←の1の番号は表示させる小窓の番号。 以上のように表記しているのにエラーが出てしまい全く動かないのです。 現在Microsoft Front Pageで作成しているのですがタグを打ち終わりプレビューを押すと ライン:4 文字:35 エラー:終了していない文字列型の定数です。 コード:0 又、.jsのファイルを開こうとダブルクリックすると 行3 文字35 エラー:終了していない文字列型の定数です。 コード:800A03F7 ソース:Microsoft JScriptコンパイルエラー と出てきます。 “ジャバスクリプト部分のタグにエラーが発生してるんだろな”と言う事は分かるのです。(当たり前) でも、何が悪いか全く分からずお手上げ状態なのです。 どれだけ直しても同じエラーばっかり。本当に困っています… 皆様の力を貸していただけたらと思います。 よろしくお願いします。

  • wakan
  • お礼率58% (109/185)

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

  • ベストアンサー
回答No.2

window.openの引数のchip','というところがクオーテーションが開いたところで終わっています。 前の方の回答にあるように一行であるべきwindow.open();の引数の途中で改行したのが原因です。 ソースの見やすさのために改行するのであれば行の途中の改行の前に半角の\(バックスラッシュ)が必要です。

その他の回答 (2)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.3

引数を複数行で見やすくしたいのであれば +演算子で文字列を結合しましょう 例 function win1() {   window.open( 'hello.htm', 'chip1',     'resizable=false, enubar=false,' +     'statusbar=false, location=false,' +     'scrollbar=true, toolbar=false,' +     'width=320px, ' +     'Height=320px'     ); } といった具合です

  • leap_day
  • ベストアンサー率60% (338/561)
回答No.1

こんにちは 適宜変更して試しましたがそのままで動きましたよ? ただひとつだけ疑問点が・・・ コピペすると1行ずつ改行されてますが実際もそうされてますか? そのばあいだとエラーになります ↓試したもの(1行表記です) function win1(){ window.open('test.html','chip','resizable=no,menubar=no,status=no,location=no,scrollbars=no,toolbar=no,width=200,height=200'); }

関連するQ&A

  • jQuery.jsを使ったhtml外部読み込み

    教えてください。 現在Jqueryを使用して外部htmlを読み込ませようとしていますが、 うまくいきません・・・ ■本体html <head> <script src="js/jquery-1.8.3.min.js"></script> </head> <body> <script type="text/javascript" src="sample.js"></scrip> <div id="sample"></div> </body> ■sample.js // JavaScript Document $(function(){ $("#sample").load("sample.html"); }); ■読み込ませるsample.html 特に設定なし このような感じですが、全然読み込めません。。。 javascriptを外部リンクにしているのは、読み込むhtmlが複数ある為、 headの見栄えが悪くなるからという個人的な意見です・・・ 済みませんがお知恵をお貸しください!!

  • IE8で外部jsファイルが読み込めない

    htmlでjavascriptを使用しようとhtmlファイルとjsファイルを同階層に置き、下記のように外部jsファイルを読み込んでいます。 <script type="text/javascript" src="./com.js"></script> しかし、IE8でそのhtmlを開くと 「メッセージ: 文字が正しくありません。ライン: 1文字: 1コード: 0 URI: file:///C:/Users/PCUser/Desktop/test/common/js/com.js」 というエラーが発生してjavascriptが読み込めません。 秀丸でsrc="./com.js"をクリックするとソースが表示されるのでパスは間違えていないと思います。 また、簡単なボタン押下時にalertを表示するscriptを作成して確認したところ、FIRE FOXでは正常に動きましたが、IE8ではやはり動きませんでした。 文字コードはhtml、javascript共にshift-jisです。 他にjavascriptを読み込めない原因は何かありますでしょうか? よろしくお願いいたします。

  • 外部 .js で

    index.html 内の head タグ間に <script type="text/javascript" src="./js/test2.js"></script> また、index.html と同階層にある js ディレクトリの内の test2.js の内容は document.write("test") だけです。 この条件で(というのは、最終的に別にテキストを出したいだけというわけではないので)、body の任意の場所に test を表示 [記述] させる方法を教えてください。 body の適当な場所に <script type="text/javascript"></script> と書いても、何も現れません(ソースで確かめています)。根本的におかしいのかもしれませんが、わかりません。 必ず、これら条件でお願いします。

  • JSP内で外部jsファイルを指定する

    昨日から散々悩んでいます。 tomcatのJSPから外部jsファイルが読み込めません。 最初htmlのみでテストしたのですが そのときは何の問題も無く動きました。 URLの指定の仕方かなと思いましたが、 cssのほうは同じ指定の仕方で効いています。 <!---------- JSP内容 ------------------------> <!-- [テスト]ボタン押下でscript実行 --> <html> <head> <title>テスト</title> <script Language='JavaScript'    type='text/javascript' charset="shift_jis" src='/Test/script/Script.js'> </script> <script language='JavaScript' type='text/javascript'> <!-- function test(){ jstest(); } function test1(){ alert("test1:OK"); } // --> </script> <link rel="stylesheet" href="/Test/css/Style_ver1.css" type="text/css"> </head> <body> <form> <input type='button' class="button" value='テスト' onclick="test()"> </form> </body> </html> <!---------- 外部js内容------------------------> function jstest(){ alert("jstest:OK"); } <!---------------------------------------------> onclick="test1()"にすると動きます。 以前に作られた別アプリケーションのJ2EEのソースを見ると、 src=<c:url とcoreタグが使用されています。 coreタグの使用なしにURLを書くことはできないのでしょうか? すいませんが、どなたか教えてください。 宜しくお願いします。

    • ベストアンサー
    • Java
  • 外部ファイルJS参照を全て消さないと「文字が正しくありません」エラー

    実に不思議なのですが、 以下のように4つのJSファイルをインクルードしているHTMLファイルを ローカルで開くと「文字が正しくありません」とスクリプトエラーが何回かでます。 ですが、script1~4.js の行を全てコメントアウトすると、エラーはでません。 1~4のどれかにエラーが含まれているのかと、一つ一つを外してみましたが、 どの行を外しても、やはり「文字が正しくありません」と出てしまいます。 ローカルの然るべきパスに1~4はあります。また、HTML同様、JSもEUCになってます。 何が原因なのでしょうか? <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <title>タイトル</title> <meta http-equiv="content-type" content="text/html; charset=euc-jp"> <meta http-equiv="content-script-type" content="text/javascript"> <meta http-equiv="content-style-type" content="text/css"> <link href="../css/style.css" rel="stylesheet"> <script src="../js/script1.js" type="text/javascript"></script> <script src="../js/script2.js" type="text/javascript"></script> <script src="../js/script3.js" type="text/javascript"></script> <script src="../js/script4.js" type="text/javascript"></script> </head>

  • 複数の外部jsをランダム表示させたい

    1つのhtmlの中で <script type="text/javascript" src="001.js"></script> <script type="text/javascript" src="002.js"></script> <script type="text/javascript" src="003.js"></script> といった複数のjsをランダムで表示させるコードや、サンプル掲載サイトを教えていただけませんか? 各jsの中身はテキストや画像などHTMLに表示されるものになっています。 よくあるランダムバナーやランダムリンクのjs版という感じです。 画像やテキストのランダムスクリプトを使って、呼び出される部分に当たるところを上記のようなjsに変えてみたりもしたのですが、IEやOperaではOKでしたがFirefoxではエラーになってしまったり、表示されなくなったりして上手くいきませんでした…;; よろしくお願いいたします。

  • JSの外部ファイルの書き方を教えてください

    よろしくおねがいします。 私は初心者で技術者ではないですが、JavaScriptの項目はここだけのようなので質問させてください。 とある無料配布しているサイトからお借りしたもので、リンクにマウスが乗ると説明文がでるガイドメッセージのJSです。 外部ファイルはまた別のサイトで説明されていたとおりに書きました。 ほかのJSはそれで正常に動きましたが、このガイドメッセージだけはなぜか動きません。 サンプルではすべてHTML内に書いてありましたが、その通りにすると正常に動きます。 外部にするときはどこか変える場所があるのでしょうか・・・??? 自分はこんなふうに書いたのですが・・・ (外部ファイル内) function showMsg (text) { if(!document.getElementById) return; var msgbox = document.getElementById("msgbox"); msgbox.innerHTML = text; } (HTML内) (HEAD内) <script language="JavaScript" src="ファイルURL"></script> (body内) <a href="ファイルURL" onmouseover="showMsg('リンクの説明');" onmouseout="showMsg('いらっしゃいませ');">リンク文字</a> (リンクを表示させる場所) <p id="msgbox" lang="ja"> いらっしゃいませ</p>

  • javascriptのalertで文字化けが解消されません。(外部js

    javascriptのalertで文字化けが解消されません。(外部jsファイル読込による) htmlファイル <meta http-equiv="Content-Script-Type" content="text/javascript"> <script language="JavaScript" src="**/**.js" charset="shift_jis"></script> いろいろ調べまして、charset="shift_jis"を指定したり、utf-8にしましたがうまくいきません。 jsファイル function testalert() { alert('テスト'); } ご教授をよろしくお願いします。

  • アメブロで外部ファイル(js)を読み込みたい

    アメブロで、プラグインの文字数を節約するため サーバーに外部ファイル(jsファイル)を置き、読み込みたいのですが 参考サイトの記事を読んで、同じように書いても出来ません。。 一つ一つの記事の上に、メッセージが出るようにしたいのですが 反映されず・・・ 反映されないブログ⇒ http://ameblo.jp/webtest04/ サーバーにUPしたjsファイルには、以下のように書きました。 //全ページにメッセージボード設置 //http://ameblo.jp/exlink/entry-10241077474.html var myTm ='ここにタグを書いてください' //http://ameblo.jp/exlink/ function myT() { var myObj = document.getElementById('main'); myObj.innerHTML = ( '<div id="tme">'+ myTm + '</div>') + myObj.innerHTML;} //記事下に定型文を自動挿入 //http://ameblo.jp/exlink/entry-10163916334.html var myMe ='ここにタグを書いてください' //http://ameblo.jp/exlink/ function myF() { var myfix = document.getElementsByTagName('div'); for(i = 0; i < myfix.length; i++){ myObj=document.getElementsByTagName('div')[i]; if(myObj.className=='contents'){ myObj.innerHTML += ( '<p class="fix">'+ myMe + '</p>');}}} そして、アメブロのプラグインの方には、以下のように書きました。 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js"></script> <script type="text/javascript" src="http://wt01.web.fc2.com/plugin.js"></script > <script language="javascript"><!-- window.onload = function(){ myT(),myF();} // --></script> --------------------------- どなたか、原因がわかる方はいらっしゃいますか? よろしくお願いいたします。

  • shadowbox.jsについて

    shadowbox.jsとslimbox.jsを併用したいと考えています。 もともとshadowbox.jsをPrototypeで使用し、HTMLを呼び出すのに使用していたのですが、 画像のライトボックス表示にslimbox.js(jquery使用)を使いたいと思い、 両方とも記述したらshadowboxの方が正常に動作しなくなりました。 何か解決策はありますでしょうか。 非常に困っています。お願いします。 ちなみに以下の様なコードをhead内に記述しております。 <script src="../../common/js/prototype.js" type="text/javascript"></script> <link rel="stylesheet" type="text/css" href="../../common/js/shadowbox/shadowbox.css"> <script src="../../common/js/shadowbox/shadowbox.js" type="text/javascript"></script> <script type="text/javascript">Shadowbox.init();</script> <link rel="stylesheet" type="text/css" href="shadowbox.css"> <script type="text/javascript" src="shadowbox.js"></script> <script type="text/javascript">Shadowbox.init();</script> </script> <link href="../../common/css/slimbox/slimbox.css" type="text/css" rel="stylesheet" media="screen" /> <script type="text/javascript" src="../../common/js/jquery.js"></script> <script type="text/javascript" src="../../common/js/slimbox.js"></script> <script type="text/javascript"> //slimbox $(document).ready(function() { $('a[rel*=lightbox]').slimbox(); }); </script>

    • ベストアンサー
    • CSS

専門家に質問してみよう