ラベル javascript の投稿を表示しています。 すべての投稿を表示
ラベル javascript の投稿を表示しています。 すべての投稿を表示

2019年10月1日火曜日

javascriptで月末日を求める

12+1=13になるけど、そこも問題ないみたい、0が1月らしい

var n = new Date('2019-12-01')
var m = new Date(n.getFullYear(),n.getMonth()+1,0);
console.log(m);

> Tue Dec 31 2019 00:00:00 GMT+0900 (日本標準時)

2018年8月2日木曜日

複数PDFを一括印刷する、PDF毎の一枚目は飛ばす。ドラッグアンドドロップ

'//Bath Print multiple pdfs without the first page
'//複数PDFを一括印刷する、PDF毎の一枚目は飛ばす。ドラッグアンドドロップでできます

set WshShell = CreateObject ("Wscript.Shell")
set fs = CreateObject("Scripting.FileSystemObject")
Set objArgs = WScript.Arguments

if objArgs.Count < 1 then
msgbox("Please drag a file on the script")
WScript.quit
end if

Set gApp = CreateObject("AcroExch.App")
gApp.show '<- br="" comment="" hidden="" in="" mod="" or="" out="" take="" to="" work=""> 

'open via Avdoc and print
for i=0 to objArgs.Count - 1
FileIn = ObjArgs(i)
Set AVDoc = CreateObject("AcroExch.AVDoc")
If AVDoc.Open(FileIn, "") Then
Set PDDoc = AVDoc.GetPDDoc()
Set JSO = PDDoc.GetJSObject
x = PDDoc.GetNumPages
jso.print false, 1, x-1, true
gApp.CloseAllDocs
end if
next

gApp.hide : gApp.exit : Quit()
MsgBox "Done!"

Sub Quit
Set JSO = Nothing : Set PDDoc = Nothing : Set gApp =Nothing : Wscript.quit
End Sub

2014年8月20日水曜日

JavascriptでWScriptを使ってクライアントのアプリケーションを起動させる

IEブラウザ限定、Javascriptを使ってWScriptでクライアントのアプリケーション(notepad.exeメモ帳)を起動させる
※IEの設定でActiveXを有効にすることは前提条件です。
<html>
<head>
<script language="javascript" type="text/javascript">
function OpenFile(){
var x = new ActiveXObject("WScript.Shell");
x.run('notepad.exe hello.txt');
}
</script>
</head>
<body>
<input type="button" value="メモ帳" href="#" onclick="javascript:OpenFile();"><br>
1.Internet Explorer の ActiveX コントロールの処理方法を変更するには、次の操作を実行します。<br>
2.[ツール]→[インターネット オプション]→[セキュリティ]→[レベルのカスタマイズ]。<br>
3.[ActiveX コントロールとプラグイン]。<br>
4.[ActiveX コントロールに対して自動的にダイアログを表示]で、[有効にする]。<br>
5.[署名された ActiveX コントロールのダウンロード]を[有効にする]または[ダイアログを表示する]にします。<br>
6.[ActiveX コントロールとプラグインの実行]を[有効にする]または[ダイアログを表示する]にします。<br>
7.[スクリプトを実行しても安全だとマークされている ActiveX コントロールのスクリプトの実行]を[有効にする]または[ダイアログを表示する]にします。<br>
8.[OK]をクリックして、もう一度[OK]をクリックします。
</body>
</html>

2012年7月23日月曜日

urlのパラメータを取得するfunction、デフォルト指定もある

<!doctype html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta http-equiv="Content-Language" content="ja" />
        <meta http-equiv="Content-Script-Type" content="text/javascript" />
        <meta http-equiv="Content-Style-Type" content="text/css" />
        <meta http-equiv="imagetoolbar" content="no" />
        <title>TEST</title>
        <!-- JS -->
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
        <script type="text/javascript">
     function getQuerystring(key, default_)
     {
      if (default_==null) default_="";
      key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
      var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
      var qs = regex.exec(window.location.href);
      if(qs == null)
       return default_;
      else
       return qs[1];
     }
     $(function(){
      alert(getQuerystring('msg', ''));
     });
        </script>
    </head>
    <body>
   http://localhost/phpbox/getQueryParam.html?msg=hello world!
    </body>
</html>
会社の友たちが書いてた、便利ですので、シェアする

2012年4月30日月曜日

javascriptで現在時刻をyyyymmddhhiissで表示

function getNow(){
  nowtime = new Date();
  yy = nowtime.getYear();
  mm = nowtime.getMonth() + 1;
  dd = nowtime.getDate();
  hh = nowtime.getHours();
  if(hh < 10){hh = "0" + hh;}
  ii = nowtime.getMinutes();
  if(ii < 10){ii = "0" + ii;}
  ss = nowtime.getSeconds();
  if(ss < 10){ss = "0" + ss;}
  if (yy < 2000) { yy += 1900; }
  if (mm < 10) { mm = "0" + mm; }
  if (dd < 10) { dd = "0" + dd; }
    return (yy + "/" + mm + "/" + dd + " " + hh + ":" + ii + ":" + ss);
}
document.write(getNow());
loading...

2012年4月22日日曜日

googleスプレットシートをデータベースとして利用したカウンター







0

2012年4月17日火曜日

Google Docs スプレットシートAPIテスト

<html>
<head>
<title>GoogleスプレットシートAPIテスト</title>
</head>
<body>
<div id="data"></div>
<script type="text/javascript">
<!--
 function drawTable(json)
{
  var table = document.createElement('table');
  table.setAttribute('id', 'output');
  var tbody = document.createElement('tbody');
  
  var tr;
  for (var i=0; i < json.feed.entry.length; i++) {

    var entry = json.feed.entry[i];
    if (entry.gs$cell.col == '1') {
      if (tr != null) {
        tbody.appendChild(tr);
      }

      tr = document.createElement('tr');
    }
    
    var td = document.createElement('td');
    td.appendChild(document.createTextNode(entry.content.$t));
    tr.appendChild(td);
  }
  tbody.appendChild(tr);
  table.appendChild(tbody);
  document.getElementById('data').appendChild(table);
}
-->
</script>
<script type="text/javascript" src="https://spreadsheets.google.com/feeds/cells/0Akp-AdfTe-rCdDZEN2ZIWFMyMWhCV2dsRlkxb1N6bGc/od6/public/values?alt=json-in-script&callback=drawTable"></script>

</body>
基本ここのパクリが、時間あったらもうちょっと遊んでみる
Google Docsの公開URLは
https://docs.google.com/spreadsheet/ccc?key=0Akp-AdfTe-rCdDZEN2ZIWFMyMWhCV2dsRlkxb1N6bGc
一般公開しているので、変なこと書き込まないでいただきたいm(_ _)m

結果はこれ:2011年世界GDP順位だそうです




Google Spreadsheets API

2012年3月23日金曜日

javascriptでXMLを読み込むライブラリーjkl-parsexml.js

ライブラリーはここからダウンロード
http://www.kawa.net/works/js/jkl/parsexml.html

そして読み込むXMLを作成、ファイル名をuser.xmlにします。
<?xml version="1.0" standalone="yes"?>
<Users>
    <User>
        <Id>1</Id>
        <Name>田中</Name>
    </User>
    <User>
        <Id>2</Id>
        <Name>佐藤</Name>
    </User>
</Users>

HTMLはこちら
<html>
<head>
<title>XMLファイルの読み込み</title>
<script type="text/javascript" src="jkl-parsexml.js"></script>
<script type="text/javascript">
<!--
function requestFile(url){
    var xml = new JKL.ParseXML( url );
    var data = xml.parse();
    var strHtml = "<table border=1>";
    for (var u in data.Users.User){
      strHtml += "<tr>";
      strHtml += "<td>" + data.Users.User[u].Id + "</td><td>" + data.Users.User[u].Name + "</td>";
      strHtml += "</tr>";
    }
    strHtml += "</table>";
    document.getElementById("resultDiv").innerHTML = strHtml;
}
// -->
</script>
</head>
<body>
<input id="Button" type="button" value="実行" onclick="javascript:requestFile('./user.xml')">
<div id="resultDiv">
</div>
</body>
</html>
結果はこんな感じ
1田中
2佐藤

2010年11月11日木曜日

javascriptでobjectのpropertyの参照

//直接参照
var name1 = jsonData.name);
//変数で参照
var prop = "name";
var name2 = alert(jsonData[prop]);

これ、常識かもしれないが、私は覚えられないので、書いとく

2010年11月1日月曜日

IE6,IE7エラー「識別子、文字列または数がありません」

IE6,IE7で「識別子、文字列または数がありません」が出ています。IE8、Firefox、chrome、Operaはでません。

IE6,IE7では簡単にデバグ出来ないので、問題点の特定に時間を掛てしまった。

問題点はこれです:

var columnsClassStatus = {
    NAME : {title:"キャンペーン",width:"wd_l",},
    GROUP : {title:"グループ",width:"wd_l",},
    CPA : {title:"CPA",width:"wd_m",},
};

オブジェクトまたは配列の最後のエレメントの後ろ「,」があってはなりません。

var columnsClassStatus = {
    NAME : {title:"キャンペーン",width:"wd_l"},
    GROUP : {title:"グループ",width:"wd_l"},
    CPA : {title:"CPA",width:"wd_m"}
};

にするIE6とIE7ではエラーは解消されます。

2010年10月7日木曜日

IEでjavascriptのdebug

開発者ツール
IEでjavascriptのdebug, IE8ならF12を押せば「開発者ツール」が立ち上がるみたい。

JavaScript の判断式はshort式ではない、$ is not defined

これはダメ:
if($('#onSiteChangeReloadPage').size()>0 && $('#onSiteChangeReloadPage').val()==1){
エラーメッセージがでる:$ is not defined

これにすべき:

if($('#onSiteChangeReloadPage').size()>0){
if($('#onSiteChangeReloadPage').val()==1){

JavaScript Location Object

例えばurlは http://smac2.jp:80/track/add/?sid=180#top

location.href = "http://smac2.jp:80/track/add/?sid=180#top"
location.hash = "#top"
location.host = "smac2.jp:80"
location.hostname = "smac2.jp"
location.pathname = "/track/add/"
location.port = "80"
location.protocol = "http:"
location.search = "?sid=180#top"
location.target = ""