過去ログ

                                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;

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 15