Page 15 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼ドキュメントのリストを擬似OpenURLに登録(js) YAma(作成sim氏) 02/8/1(木) 10:58 ─────────────────────────────────────── ■題名 : ドキュメントのリストを擬似OpenURLに登録(js) ■名前 : YAma(作成sim氏) ■日付 : 02/8/1(木) 10:58 -------------------------------------------------------------------------
//ドキュメントのリストを擬似OpenURLに登録 //Stringクラスにメソッド追加 String.prototype.appendln = function( s ){ //Stringオブジェクトに引数の文字列+改行を追加。 str = new String(s); return (this + str + "\r\n"); } function makeAnchor(title, url){ var str = new String(""); //アンカータグを書き込む var re = /&/g; url = url.replace(re, "&"); str = str + "<a href=\"" + url + "\">" //ページタイトル(無ければURL)を書き込む。 if ( title == "" ){ str = str + url + "</a>"; } else { //titleにダブルクオートやタグが入っていたら置換 var re = /&/g; title = title.replace(re, "&"); var re = /</g; title = title.replace(re, "<"); re = />/g; title = title.replace(re, ">"); re = /\"/g; title = title.replace(re, """); str = str + title + "</a>"; } return str; } function getFormatedDate(){ var date = new Date(); var day_array = new Array("日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日","土曜日"); //月は0〜11で返されるので1を加える var str = date.getFullYear() + "/" + (date.getMonth() + 1) + "/" + date.getDate() + " " + day_array[date.getDay()]; return str; } function setHtmlHeader(){ var header = new String(); header = header.appendln("<head>"); header = header.appendln("<meta http-equiv=Content-Type content=\"text/html; charset=Shift_JIS\">"); header = header.appendln("<meta http-equiv=\"Content-Style-Type\" content=\"text/css\">"); header = header.appendln("<meta http-equiv=\"Content-Script-Type\" content=\"text/javascript\">"); header = header.appendln("<link rel=\"stylesheet\" href=\"openurl2.css\" type=\"text/css\">"); header = header.appendln("<script type=\"text/javascript\">"); header = header.appendln("<!--"); header = header.appendln("function openAll(){"); header = header.appendln(" if (!(window.confirm(\"リストのURLをすべて開きますか?\")))"); header = header.appendln(" return;"); header = header.appendln(" var href;"); header = header.appendln(" for (var i = 0; i < window.document.links.length; i ++ ){"); header = header.appendln(" href = new String(document.links[i]);"); header = header.appendln(" if (href.substr(0,8) == \"file:///\" && href.substr(href.length - 13,13) == \"openurl2.html\")"); header = header.appendln(" continue;"); header = header.appendln(" window.open(href);"); header = header.appendln(" }"); header = header.appendln("}"); header = header.appendln("// -->"); header = header.appendln("</script>"); header = header.appendln("<title>擬似OpenURL(" + getFormatedDate() + "に保存)</title>"); return header; } var bugWeb; var fileSysObj; var fileObj; var fileName; var DocObj; //保存されるファイルの中身 var htmlFile = new String(""); //BugBrowserのオブジェクトを取得 bugWeb = new ActiveXObject("BugWeb.BugBrowserAPI"); if(bugWeb != null){ //ファイル名を決定 fileSysObj = new ActiveXObject("Scripting.FileSystemObject"); fileName = bugWeb.ApplicationPath + "openurl2.html"; //ここから保存するHTMLファイルを作る処理--- htmlFile = htmlFile.appendln("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">"); htmlFile = htmlFile.appendln("<html lang=\"ja\">"); htmlFile = htmlFile.appendln(setHtmlHeader()); htmlFile = htmlFile.appendln("</head>"); htmlFile = htmlFile.appendln("<body>"); htmlFile = htmlFile.appendln("<h1>" + getFormatedDate() + "</h1>"); htmlFile = htmlFile.appendln("<p><input type=\"button\" value=\"全てのリンクを開く\" onClick=\"openAll()\"></p>"); htmlFile = htmlFile.appendln("<h2>ドキュメント(" + bugWeb.DocumentCount + "個)</h2>"); htmlFile = htmlFile.appendln("<ul>"); try{ for ( id = 0; id < bugWeb.DocumentCount; id++){ DocObj = bugWeb.CreateDocumentViewObject(bugWeb.DocumentView(id)); htmlFile = htmlFile.appendln(" <li>" + makeAnchor(DocObj.document.title, DocObj.URL) + "</li>"); DocObj = null; } } catch(e){ bugWeb.ShowMessage(e); } finally{ } htmlFile = htmlFile.appendln("</ul>\r\n</body>\r\n</html>"); //実際にファイルに書き込む fileObj = fileSysObj.CreateTextFile(fileName,true); if (fileObj != null){ fileObj.Write(htmlFile); fileObj.Close(); bugWeb.ShowMessage("擬似OpenURLに登録しました。"); }else{ bugWeb.ShowMessage("保存できませんでした。"); } fileObj = null; fileSysObj = null; } bugWeb = null; |