Twitterクライアントもどき
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-31j"> <title>Insert title here</title> <script type="text/javascript" src="script2.js"> </script> </head> <body> <form> ユーザ:<input type="text" id="user_text" /><br/> パスワード:<input type="password" id="password_text" /><br/> いまなにしてる?<br> <textarea name="text" id="textarea_text" rows="4" cols="40"></textarea><br> <input type="button" id="send_button" value="送信" onClick="sendTwitter();"> </form> <div id="message"></div> </body> </html>
function sendTwitter() { var request; if(window.XMLHttpRequest) { request = new XMLHttpRequest(); } else if(window.ActiveXObject) { try { request = new ActiveXObject('Msxml2.XMLHTTP'); } catch(e) { request = new ActiveXObject('Microsoft.XMLHTTP'); } } else { alert("XMLHttpRequestオブジェクトが取得できません"); return; } request.onreadystatechange = function() { if(request.readyState == 4 && request.status == 200) { var status = eval('(' + request.responseText + ')'); document.getElementById("message").innerHTML = status.text; } }; request.open('POST', 'http://twitter.com/statuses/update.json', false, document.getElementById("user_text").value, document.getElementById("password_text").value); request.send('status=' + encodeURIComponent(document.getElementById("textarea_text").value)); }
IE7だとうまくいったけど、FireFoxだと「uncaught exception: Permission denied to call method XMLHttpRequest.open」といわれた。
ググルと
try { netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead"); } catch (e) { alert("Permission UniversalBrowserRead denied."); }
というおまじないをかけるといいらしいが、動かず。
セキュリティがらみですな。