[Windows Phone 7 Q&A, Help & Troubleshooting] lseidman:
First and foremost, I appreciate your honesty which is why I will basically show you the way...

Well, if you wish to invoke JavaScript via WP7 you can, like below:

1). Open your Mainpage.xaml and find the grid and insert:

<phone:WebBrowser HorizontalAlignment="Left" Name="webBrowser1" VerticalAlignment="Top" Height="xxx" Width="xxx" IsScriptEnabled="True" ScriptNotify="webBrowser_callback" />

2). Make an HTML page, go in the HEADER section and type something like: "<SCRIPT LANGUAGE="JavaScript" src="HelloWorld.js"></SCRIPT>" and add a button that has a function to fire upon clicking + name the section like:

<h1 id='myName'>Hello World!</h1>

<form>

<input id="button" type="button" class="button-standard" style="width:200;height:100" value="Hello World!" onClick="HelloWorld()"/>

* Remove the Quotes from above...

3). Make a file called HelloWorld.js and put in something like:

function HelloWorld() {

window.external.Notify("Name");

}

function sets(val) {

document.getElementById('myName').innerHTML = val;

}

4). In your Mainpage.xaml.cs, find where you want to invoke the script/site and put in:

webBrowser1.Navigate(new Uri("http://lance.compulsivetech.biz/login", UriKind.Relative));

*Change the URI to your address, not my blog's fake login...

5). Since we are loading the site locally in Isolated Storage, go forth and type this in:

private void CreateDirOnStore(string strDir)

{

// Create a directory for local storeage.

IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication();

if (!isoStore.DirectoryExists(strDir))

isoStore.CreateDirectory(strDir);

}

private void SaveFileToIsoStore(string strFileName)

{

// This will save the file to the isolated storage based on the string provided.

IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication();

//remove the file if exists to allow each run to independently write to

// the Isolated Storage

if (isoStore.FileExists(strFileName) == true)

{

isoStore.DeleteFile(strFileName);

}

StreamResourceInfo sr = Application.GetResourceStream(new Uri(strFileName, UriKind.Relative));

using (BinaryReader br = new BinaryReader(sr.Stream))

{

byte[] data = br.ReadBytes((int)sr.Stream.Length);

//save file to Isolated Storage

using (BinaryWriter bw = new BinaryWriter(isoStore.CreateFile(strFileName)))

{

bw.Write(data);

bw.Close();

}

}

}

6). In your public MainPage() put:

this.Loaded += new RoutedEventHandler(Load_WebPage);

* Always put stuff after your Intialize call

7). We need to make a page load function as below (in xaml.cs):

void Load_WebPage(object sender, RoutedEventArgs e)

{

//Set the start folder of the widget and navigate to the start page

CreateDirOnStore("helloworld");

SaveFileToIsoStore("helloworld/index.html");

SaveFileToIsoStore("helloworld/helloworld.js");

webBrowser1.Base = "helloworld";

webBrowser1.Navigate(new Uri("index.html", UriKind.Relative));

}

8). Now we invoke the function as seen below:

void webBrowser_callback(object sender, NotifyEventArgs e)

{

//Use invokeScript to give to the web env.

webBrowser1.InvokeScript("eval", new string[] { "sets('txtName.Text')"});

}

Hope this helps, this is basically off the top of my head but should be pretty close to being right and Mango Compat.