Monday, November 19, 2007

Solution to Wscript and HTML Integration

Much to my disgrace, I could get WSCript to work with HTML for hours.
The error "WScript is undefined" has puzzled me throughout the night, but finally the problem is solved.


What's the Problem?


According to MSDN, "the WScript object is the root object of the Windows Script Host object model hierarchy. It never needs to be instantiated before invoking its properties and methods, and it is always available from any script file. "

Simply put WScript provides access to root object for the Windows Script Host object model.


WScript is the default Windows Script Host Object, HTML can only communicate with it via ActiveX. So that's why we need ActiveXObject() instead of WScript.CreateNewOjbect(). And instead of WScript.Echo(); we have to use window.alert which is a built-in function for Javascript.



The initial js Code:

var iTunesApp = WScript.CreateObject("iTunes.Application");
WScript.Echo(allPlaylistNames());

function allPlaylistNames() {

var librarySource = iTunesApp.LibrarySource;
var listOfPlaylists = librarySource.Playlists;
var playlistReturn = new Array();

for(i = 1; i <= listOfPlaylists.Count; i++) { playlistReturn[i] = listOfPlaylists.Item(i).Name + '[[sep]]p_' + i; } return playlistReturn.sort(); }


Change it to :

var iTunesApp = new ActiveXObject("iTunes.Application");
window.alert(allPlaylistNames());

function allPlaylistNames(){
var librarySource = iTunesApp.LibrarySource;
var listOfPlaylists = librarySource.Playlists;
var playlistReturn = new Array();

for(i = 1; i <= listOfPlaylists.Count; i++) {
playlistReturn[i] = listOfPlaylists.Item(i).Name + '[[sep]]p_' + i;
}
return playlistReturn.sort();

}

References:

http://msdn2.microsoft.com/en-us/library/at5ydy31.aspx
http://thegreenbutton.com/forums/thread/84583.aspx
http://microsoft.apress.com/asptodayarchive/73503/accessing-the-windows-system-using-activex-and-html

Run External Jscript in an External Jscript

My goal is to have an external js file loading a set of js files. In this case, for starters, just one subsequent external js, js2.js.



loader.html - to load all the subsequent js files.



<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

<title>JsLoader</title>

<script src='js1.js' type='text/javascript' /></script>

</head>


<body>

<input type="button" onClick="f1()" value="Load" />


</body>

</html>



js1.js - External js file 1



function f1(){

var NewScript=document.createElement('script')

NewScript.src="js2.js"

document.body.appendChild(NewScript);

f2();

}



j2.js- External js file 2



function f2(){

alert('I told you I can get here!')

}





Files:
loader.html
js1.js
js2.js

Sunday, November 18, 2007

Run External Javascript on Webpage

Create a HTML file msgBox.html, without Importing External Js:


<HTML>

<HEAD>


<SCRIPT LANGUAGE="JavaScript">

function MsgBox (textstring) {

alert (textstring) }

</SCRIPT>


</HEAD>


<BODY>


<FORM>

<INPUT NAME="text1" TYPE=Text>

<INPUT NAME="submit" TYPE=Button VALUE="Show Me" onClick="MsgBox(form.text1.value)">

</FORM>


</BODY>

</HTML>


Create File msgBox.js with the code:


function MsgBox (textstring) {

alert (textstring) }

Change the html code to:




<HTML>

<HEAD>

<script src='msgBox.js' type='text/javascript' /></script>

</HEAD>

<BODY>

<FORM>

<INPUT NAME="text1" TYPE=Text>

<INPUT NAME="submit" TYPE=Button VALUE="Show Me" onClick="MsgBox(form.text1.value)">

</FORM>

</BODY>

</HTML>





Download

msgBox.html - html page holding the javascript

msgBox.js - js file to be imported






References:

http://www.webteacher.com/javascript/ch01.html

Adsblacklist.com

Site Name: Adsblacklist
Link: http://www.adsblacklist.com/

Useful for:

By keeping you updated with a list of Advertisers with low payouts, you can avoid wasting your time on a bunch of cheap sites offering only $0.01 all day. Average payout of not-so-bad advertisers should be around $0.50.

How does it works?

Blacklist works by:"[...]providing you with list of most commonly filtered websites whose webmasters use AdWords to attract visitors for low price click so they can convert it to high price click on their own MFA (Made for AdSense) site(s). In order to STOP these type of actions going on your sites, all you need to do is to paste our specially generated list to your AdSense Setup -> Competitive Ad Filter list. Your revenue should substantially increase."

Emphasize Content for Adsense Content Targeting

It used to be a pain to use adsense on Bloggers because it targets the entire page and will only show ads relevant to the keyword "Blog". Those blog sits usually have very low CPM so it won't amount to any significant amount of money.

Now here is a simple tip for Adsense users. You can emphasize areas of your page to the Adsense Bot so that it will weigh the your highlighted areas more than others. You are not allowed to use this trick to target on irrelevant areas for more profits. This simply gives you more control, although not absolute, to what will be shown on your Adsense ads.

Cratle Notes:

Emphasize to show

<!-- google_ad_section_start -->
Content to be targeted by Adsense Bot
<!-- google_ad_section_end -->


Emphasize to ignore

<!-- google_ad_section_start(weight=ignore) -->


Reference:
https://www.google.com/adsense/support/bin/answer.py?answer=23168&topic=8441

Setting up Apache 2 and PHP 5 on Vista Home Basic

So painful as it can be...it took me 5 hours of tolls get these two basic web development environment on my Windows Vista Home Basic. It is so ridiculously painful that I even decided to open this personal tech note blog. I remember I have been pained by similar installation drills for at least 3 times, I don't want this dumb shit to happen to me again. Let's make this for the same cause as the existence of history---the hope to avoid repeating the same mistakes.


Damn, it is 4:25 am already.

Cratle Notes:

Preparations

Downloads
Software : Version : Platform : File
PHP5 : 5.2.5 : Win32 : File
Apache 2.x : 5.2.5 : Win32 : File

To-Do
Turn off the Windows Firewall
Turn off User-Control from Control Panel -> User Settings


Steps:
Install Apache first
Then Install PHP 5



Installing PHP 5:
Do not intall all those extensions, leave it as default.
Only the PHP - Program - CLI Executable is useful
Otherwise there will be many errors due to files not found when executing php -v in cmd

After installing php5:
Open (Apache Path)\conf\httpd.conf

PHP msi added the following lines at the bottom of the file:

#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
ScriptAlias /php/ "C:/PHP/"
Action application/x-httpd-php "C:/PHP/php-cgi.exe"
PHPIniDir "C:/PHP/"
LoadModule php5_module "C:/PHP/php5apache2_2.dll"
PHPIniDir "C:/PHP/"
LoadModule php5_module "C:/PHP/php5apache2.dll"
PHPIniDir "C:/PHP/"
LoadModule php5_module "C:/PHP/php5apache.dll"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL

Change it to

#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
ScriptAlias /php/ "C:/PHP/"
Action application/x-httpd-php "C:/PHP/php-cgi.exe"
PHPIniDir "C:/PHP/"
#LoadModule php5_module "C:/PHP/php5apache2_2.dll"
#PHPIniDir "C:/PHP/"
LoadModule php5_module "C:/PHP/php5apache2.dll"
#PHPIniDir "C:/PHP/"
#LoadModule php5_module "C:/PHP/php5apache.dll"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL

Working

Notable References

http://senese.wordpress.com/2007/06/06/install-php-5-under-apache-22-and-windows-vista/
http://www.expertsrt.com/tutorials/Matt/install-apache.html

4:34 AM 11/18/2007