万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    JavaScriptでなんちゃってGET

    http://www.s-memo.net/blog/2007/03/javascriptget_1.php

    オライリーJavaScript 5版の使い方わからないコード

    写経したので載せる
    ・jsquoter.php

    <?php
    header("Content-Type: text/javascript");
    // URLから引数を取り出す。
    $func = $_GET["func"]; // このjsコードから呼び出す関数、。
    $filename = $_GET["url"]; // funcに渡すファイルやURL。
    $lines = file($filename); // ファイルの内容を取り出す
    $text = implode("", $lines); // 文字列に連結する
    // 引用符や改行をエスケープする。
    $escaped = str_replace(array("'", "\"", "\n", "\r"),
                           array("\\'", "\\\"", "\\n", "\\r"),
                           $text);
    // すべての内容をJavaScript関数呼び出し形式で出力する。
    echo $func('$escaped');
    ?>
    

    ・このJSコードはファイル?

    HTTP.getTextWithScript = function(url, callback) {
    	// 新たにscript要素を生成し、ドキュメントに追加する・
    	var script = document.createElement("script");
    	document.body.appendChild(script);
    	
    	// 一意な変数名を作成する
    	var funcname = "func" + HTTP.getTextWithScript.counter++;
    	
    	// この名前で関数を定義し、この関数を便利な名前空間として利用する。
    	// サーバ側で生成するスクリプトがこの関数を呼び出す。
    	HTTP.getTextWithScript[funcname] = function(text) {
    		// テキストをコールバック関数に渡す
    		callback(text);
    		
    		// スクリプトタグと生成された関数を削除する。
    		document.body.removeChild(script);
    		delete HTTP.getTextWithScript[funcname];
    	}
    	
    	// 読み出したいURLと関数名をエンコードして、jpquoter.phpサーバサイド
    	// スクリプトに対する引数にする。スクリプトタグのsrcプロパティを
    	// 変更して、このURLを読み出す。
    	script.src = "jsquoter.php" +
    				"?url=" + encodeURIComponent(url) + "&func=" +
    				encodeURIComponen("HTTP.getTextWithScript." +  funcname);
    }
    
    // 同時に複数のリクエストを送信できるようにするため、この変数を使って、
    一意なコールバック関数名を生成する。
    HTTP.getTextWithScript.counter = 0;