Virtual Files!

Jun 21, 2007

This function will produce a URL that appears to be a file.

There are two versions:
1. a 500-pound gorilla version that accepts almost anything as input.
2. a lightweight version that turns strings into virtual HTML files.


First I'll mention the one major drawback: IE doesn't recognize data urls (http://en.wikipedia.org/wiki/Data:_URI_scheme) yet.

For a Live Demo, paste this into your addressbar and click go. (press back to return).
data:text/html;charset=utf-8;base64,PGI+aGVsbG8gd29ybGQ8L2I+
//output of: dataUrl("<b>hello world</b>", "text/html")

With that out of the way, here's the code:



function dataUrl(data, mimeType){ // turns a string into a url that appears as a file. (to ff/op/saf)
encType= (!!btoa) ? ";base64" : "";
var esc = (!!encType) ? function(d){return btoa(d);} : function(d){return escape(d);};
if(!mimeType){mimeType= (data.nodeName) ? "text/html" :"text/plain";};
b="data:"+mimeType+";charset="+document.characterSet+"+encType+",";

if ("string number date boolean function".indexOf(typeof data) > -1){ b+=esc(data.toString()); return b; };
if ( data.constructor==Array){b+= esc( data.join("") );return b; };
if(typeof data=="xml"){b+=esc(data.toSource()); return b;} //FF2 xml frag/doc
//for more complicated data, attempt to determine the format.
if(typeof data=="object"){
if(!!data.value && !!data.value.length){b+=esc(data.value); return b;}; //input tags w/content
if(!!data.innerHTML){b+=esc(data.innerHTML); return b;} //HTML tag
if(!!data.length){ //weird stuff like nodelists
var G=function(ob){r=[]; i=0;
for(i;i<ob.length;i++){
if(dataUrl(ob)) r=dataUrl(ob[i]);} return r.join("
");};//end g
return(b+G(data));}//end if object w/length
if(!! eval(data.toSource()) ){b+=esc(data.toSource()); return b;}; //JSON
}//end if object
return;
} //end function dataUrl

function dataUrlStr(data){ return ("data:text/html,"+escape(data));}



Usage: dataUrl(data, mimeType)
data- The desired contents of the file
mimeType- The type of content you want the browser to see.

output: An encoded string representation of the file; an href.
The output 'file' could be any text-based file format, depending upon what you set mimeType to be:
-HTML document (yawn) (text/html)
-Rss feed (text/xml)
-M3U playlist (audio/mpegurl)
-Excel spreadsheet, CSV (application/vnd.ms-excel)
-JavaScript (text/javascript)
-StyleSheet (text/css)
- You get the idea...

Input Details:
-Can accept [I]almost any javascript type: strings, numbers, arrays (which it will flatten), nodes, node lists, xml objects in FF2, functions (for which it outputs the source code), complex JSON objects, and dates. (whew, I think that's all of 'em...)
-if you want to output an element as html, or anything else as text, you can skip the mimeType argument.

Notes:
-You will most likely want to assign the output to a link href or the .scr of a script, stylesheet, or iframe, or to window.location.href.
-If you assign it to an iframe or object, it will load immediately.
-assigning it to a (<a>) tag will let you 'right-click, SaveAs' the file.
-clicking the link will open the 'file' in the browser just like a regular file.
-output an html document that has scripts, and they execute immediately.
-the cool thing about this is that the script will have a clean context. (no global variables from the parent).
-if used in an iframe- it can push to main page via window.top .
-if used in with an <object>, it will be completely private.

Caveats:
-doesn't work with IE yet.
-'saving As' doesn't offer a default file extention.
-there is 2kb limit for safari and opera URLs.
-search engines cannot see the links.
-XmlHTTP Requests from within usually don't work.
Examples:
To save my fingers, I will utilize the follow shortcut functions in these examples:

function el(tid) {return document.getElementById(tid)};
function tags(tid) {return document.getElementsByTagName(tid)};


//test
tags("a")[0].href=dataUrlStr("<b>Hello World!</b>")

//make a 2D array into an Excel SpreadSheet - (works with 1D lists also)
var grades= [["Subject" , "Grade"],
["Math", "A" ],
["English", "B+" ],
["Gym","C" ],
["Art","A-" ],
["Science","A+" ] ]
var exl=grades.join("
").toString().replace(/,/g , " ")
window.location.href=dataUrl(exl, "application/vnd.ms-excel")
//note: if data contains commas: loop through main, .join(' ') each index.


//execute script in a fresh enviroment:
window.testme="123456789"; //make a new global
var testJs="<script>alert('hidden window.testme='+ window.testme )</script>";
var fr= document.createElement("iframe");
fr.id="hiddenframe";
fr.style.display='none'
document.body.appendChild(fr); //add a hidden frame
alert("main window.testme="+window.testme);
el("hiddenframe").src=dataUrlStr(testJs);


//re-using the above example, pass existing functions to the hidden frame, and return the result.
var tJs="<script>";
tJs+=[tags, el].join("
"); //bundle a couple functions
tJs+="
alert('hidden window has '+tags('*').length)"
tJs+="</script>";
el("hiddenframe").src=dataUrlStr(tJs)


//open a playlist
var plTxt="#EXTM3U
#EXTINF:202,Minuet in G
http://www.mfiles.org.uk/downloads/beethoven-minuet-in-G.mp3"
el("hiddenframe").src=dataUrl(plTxt, "audio/mpegurl"


//open all the 'code' on this page as a plain text document.
function ob2Array(ob){var r=[]; for(var z=0; z<ob.length;z++){r[z]=ob[z]};return r};
function group( List, f) //applies a function (f) to an array and returns result...
{var z=0; Ray=[]; len=List.length;for (z;z<len;z++){Ray[Ray.length]=f(List[z]); }
return Ray;};
var codes=group(ob2Array(tags("pre")), function(x){if(x.className=="alt2")return x.textContent});
window.location.href=dataUrl(codes)


//make this thread into an rss feed
function tag(nd, tx){ return ["<",nd,">",tx,"</",nd,">"].join("")}
function dp (s) {var d = new Date();d.setTime(Date.parse(s)); return d.toUTCString()}
var X=PHP.htmlspecialchars
var chan=[]; var y = new Date();
chan[0]=tag("title", "CodingForums.com");
chan[1]=tag("link", window.location.href);
y.setTime(ajax_last_post+"000")
chan[2]=tag("pubDate", y.toUTCString())
chan[3]=tag("link", "http://www.codingforums.com/")

var codes=Group(ob2Array(tags("table")), function(x){
var i=[];d=""; p=d; t=d; l=d;j=d;a=0;
if(x.id.substr(0,4)=="post"){

p=tag("pubDate", dp(x.rows[0].cells[0].textContent.replace(/-/g, "/")));
t=tag("title", document.title)
l=tag("link", "http://www.codingforums.com/showpost.php?p="+tags("table")[5].id.substr(4))
ta=x.rows[1].cells[0].getElementsByTagName('a')[0]
a="<author>"+ta.href+" ("+ta.textContent+") </author>";
d=X(x.rows[1].cells[1].textContent.toString())



j=[d,t,p,l,a].join("
");
return tag('item', j)
}//end if
});

tags("a")[2].href=dataUrl(tag("channel", chan.join("
") + codes), "text/xml")


So, i think that should be enough examples to get going.

[I]"The only limitation is your imagination"

View 4 Replies


ADVERTISEMENT

Virtual Function ?

Feb 10, 2006

I have an interesting problem. I have created an html based interface that
links to an external .js file with only functions in it. The functions set
an arrays values depending on which function is called by the interface....

The external .js file looks like this below:

function myFunction1(){
arryEntry[0] = "some value1";
arryEntry[1] = "some value2";
arryEntry[2] = "some value3";
arryEntry[3] = "some value4";
}

function myFunction2(){
arryEntry[0] = "other value1";
arryEntry[1] = "other value2";
arryEntry[2] = "other value3";
arryEntry[3] = "other value4";
}
etc...

In the html interface I am calling the function(s) depending on a list
selection. This functions one arg (functionNumber) depends on a list
selection.

function getArryEntries(functionNumber){
eval("myFunction"+parseInt(functionNumber)+"()");
var value0 = arryEntry[0];
var value1 = arryEntry[1];
var value2 = arryEntry[2];
var value3 = arryEntry[3];
}

This all works well so far and the array entries are changed successfully
depending on the getArryEntries(functionNumber) selection.

However, at some time in the session I am adding (actually writing)
additional functions to the external .js file. Appending to the file. The
problem is that the interface will not pick up the newly written functions
on runtime. If the interface is closed and opened again, then it can see the
new functions.

I thought of initiating an array of the existing functions when the
interface loads and append to the array when the new functions are created.
It would then write to the file, but use the array at runtime. No success so
far.

View 1 Replies View Related

Virtual Train Set

Jul 9, 2004

Here is a virtual train set I've made. To place a piece, select it from the drop-down and click 'Go!'. The train will always start on the top-right hand square, then go right.

When you open the page, enter how many rows and columns there should be in the grid: the default is 16 X 16.

View 11 Replies View Related

How To Create A Virtual Library

Jun 7, 2011

I started studying javascript when I decided that I wanted to create a dynamic webpage after viewing some books that were made to pageflip with Javascript and after viewing a ton of animations. So I figured since everyone keeps saying Javascript is simple that if all I wanted to do was to make a book extend outwards on mouseover and then open up on click and flip pages which they already have a code for that it wouldn't be so difficult. I've read everything I could practiced a little bit, I'm not fluent but I do have a goal and a time. The problem for me comes up with figuring out what I need to do in order to make it appear as if the book is coming out of a book shelf. There is a lot of information on animations where flat objects rise above clouds.

I am thinking that I would have to use some sort of sprite of a row of books both sorta sideways where you can see the side of the book as well as the edge, and both a row of books on a shelf, or perhaps a row of books with some of the books being pulled out and then on mouse over animate the scene so that it looks like the book is being pulled out. Would that work? Or is there a simpler way? Another way or I don't know. Is there a code that can make it look like a book is extending outwards without an animation or would I need to create an animation for that?

View 3 Replies View Related

Mail Service - Attach Some Excel Files Of Text Files And To Send It

Aug 16, 2010

I have designed a mail service in java.In my compose page,i want to attach some excel files of text files and to send it.After sending i want to store it my database.Then how can i download or open that file after opening that recipient mail inbox.

View 1 Replies View Related

Define A Constant In A Virtual Class

Jun 8, 2007

How is it possible to define a constant in a virtual class?

E.g. I wrote the following code

tml = {
sayHello : function()
{
alert('hello');
}}

now if I want to add a constant into tml virtual class, what I need to
do?

I tried something like

tml = {
const1 : Integer = 0,
sayHello : function()

or

tml = {
const1 : function(){return 0;},
sayHello : function()

in both case, trying to get - inside tml object - the value of
const1 ... it results in a Object value and not the Integer value I
need.

View 4 Replies View Related

Virtual Point - Redirect To External URL

Feb 11, 2010

I am doing a virtual point of sales page. Once the user has paid, he should be readdressed to the original web page. But this doesn't happen. I have realized the payment bank code is window.opener.location='[URL]'. I have copied their code and changed that by window.open ("[URL]") and it perfectly works. I have replicated the situation in these links...
The one that doesn't work [URL]
And the one I have modified and works [URL]
They insist their code is ok. Obviously I cannot modify their code located in their server.

View 2 Replies View Related

Implement A Simple Virtual Keyboard ?

Aug 2, 2010

How can I implement a simple virtual keyboard for a website... the only things I need is a number pad(0 -9)...

is a way to implement it as simple as possible using the Javascript...

View 6 Replies View Related

JQuery :: Make A Virtual Keyboard?

Aug 31, 2011

I am so stuck on making a virtual keyboard using jquery. I found a great tutorial on nettuts however it requires you to click the letters on the virtual keyboard instead of using your actual keyboard and typing it. Does anybody know any tutorials that offer that or any suggestions? I know i have to use the keydown method but I really don't understand it. Here is an example of what it is suppose to be.

View 2 Replies View Related

Creating Simple Virtual Pagination

Oct 21, 2010

I'm trying to create a type of virtual pagination that's simple, semantic, and SEO friendly. The concept is like this website: [URL] In the bottom right hand corner, if you select a city, different contact information appears. My theory is to assign a class name to the hyperlink, then have a DIV with a matching ID.

[Code]....

Nothing works yet, and I don't know where to continue. The DIVs aren't even hidden upon loading.

View 6 Replies View Related

XMLHttpRequest Script - Works For Local XML Files But Not For External XML Files?

Oct 2, 2010

I have the following JavaScript (see below). The script requests an XML file from the server and displays it on the page.The script works fine when the requested XML file is stored on the same server as the script.The problem is when I try requesting an XML file from an external server such as the National Weather Service. I get an error. If I take the XML file from the National Weather Service and save it to my server it works. Why can't I use my script to request XML files stored on external servers?

Javascript Code

Code:

window.onload = initAll;
var xhr = false;
function initAll() {
document.getElementById("makeTextRequest").onclick = getNewFile;

[code]....

View 6 Replies View Related

JQuery :: Ajax Request Works With .xml Files But Not .php Files?

Aug 27, 2010

In my quest to implement ajax for the first time i've hit a brick wall. i've been searching for hours for a solution but with no success. Here is the problem.

[Code]...

why is it not working? my PHP code is outputting the contents of the xml document.

View 1 Replies View Related

List All Files In A Folder Including Subfolder Files?

Sep 5, 2008

I want to write a javascript to list of all files in a folder including files in the subfolders. This is for the scorm purpose to list all the files. some examples are listing files but not listing the files inside the subdirectories. I want the file's full path like C:Documentsjavascriptwilson.js like this.

View 5 Replies View Related

Using Virtual Paginate With Scroller / Slider Thumbnails

May 15, 2011

I would like to take current page (which has virtualpaginate numbers below the images to advance through them) and instead of having numbers, to have thumbnails which will be across the bottom of the page (in the footer div)... I will have about 35-40 thumbnails and I'd like it so that the thumbnails correspond to the image that is displayed. I also would like to have the thumbnails be a "slider" type of script which allows the user to browse through the thumbnails by moving their mouse left-and-right. The image in the center DIV (and its accompanying information) should be replaced OnClick, not on hover over the thumbnails.

Here is my current code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[URL]]"> <html xmlns="[URL]"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Viviana Santamarina</title>
<style type="text/css"> html, body { background-color: #111; width: 1100px; margin-right: auto; margin-left: auto; margin-top: 50px; padding: 0px; border: 0px; } .....
How I can have the thumbnails in the footer DIV change the picture in the "portfolio" div just like my virtualpaginate numbers currently do.

View 5 Replies View Related

AJAX :: Implementation Of Virtual Mode In ListView?

Aug 3, 2010

Did anyone implement or can direct me to an implementation of virtual mode (render only visible rows, but still have the scroll work right) or something similar in the AJAX Sys.Preview.UI.Data.ListView?

I need to display a very large table (`1000 rows) and it simply isn't feasible to render everything.

View 1 Replies View Related

Show Images From Four Files - Each Files Are In Each Folder?

Jan 15, 2010

I have four folders and each folder has one images, let say ( images-one.jpg, images-two.jpg, images-three.jpg, images-four.jpg). now,in index.php page there are four buttons, each buttons for each images. if i clicked button numer two for images-two.jpg, and then it will show that images name from that folder in index.php page. and then if i reload same index.php page or refreshed same page, i want to show SAME images that I clicked before which is images-two.jpg. how can i write that code to show images from four files, each files are in each folder.

View 1 Replies View Related

JQuery :: Virtual Scroll Data Not Appending To Bottom Grid When Checked

Feb 7, 2011

My Page allows the following functionality...(ASP.NET)

1.When a userscrolls the gridview downwards fresh data is retrieved from a web service and appended to the grid.

2.Clicking the checkbox of a row selects the current row and creates a clone rowand appends it toa bottom grid.

The Problem:

The problem is that clicking the selected checkbox does not append it to the grid at the bottom. Now the funny part is that the data which is displayed in the initial load is appended to the bottom grid when checked but the fresh Data which is loaded is not appended to the bottom grid when checked.

View 3 Replies View Related

Create A Virtual Library - Make A Random Number Of Books Pop Out On Mouse Over?

Jun 7, 2011

I have a background that is a shelf full of books, I wanted to figure out what I would need to do in order to make a random number of books pop out on mouse over (individually), and upon click have the book pulled out and be flipped through and read like a book. Would I have to recreate the library picture completely to make the random books moveable? And would I have to create the books that I want to move from the bookshelf?

how to pull the book out from the book shelf so that it looks like it's coming towards me and then to make it look like it has been pulled out. Would I need to use animation for this? What would be the parts to the animation required?

A little background on my knowledge of javascript: I understand the concepts of it and can understand it when I read it or its explained to me. I am looking to create something as simple as I can, I thought having a background and something basic like a few books be able to pop out. When I realized css couldn't do this and css3 wasn't supported by most browsers I turned to javascript and have been trying to figure out the steps I would need to do to do this specifically.

View 2 Replies View Related

Allow Download Of A "virtual" File

Nov 21, 2007

Imagine that I have a text displayed in a div. I would like a button
to download a text file containing this text (no formatting, just
text).

How should I do that ?
Can I somehow build a file in javascript and then propose to the user
to save it ? (the normal "save or open with" dialog)

Or am I forced to have a temporary file on the server to link to ? and
then wouldn't the browser simply display this txt file instead of
proposing to save it ?

View 2 Replies View Related

Multiple Language Files - Use PHP Language Variables In Files?

Jan 9, 2011

What is the correct way to work with multiple language JavaScript files? So how to use your PHP language variables in your JavaScript files? The way I do it now is create JavaScript files like 'script_js.php' like this:

[Code]...

View 10 Replies View Related

Get A Flash Video To Appear On Another Website - Created A Transparent Flash Video - Virtual Spokesperson

Nov 2, 2010

I have created a transparent flash video (virtual spokesperson) for my website. For demoing purposes, I would like to have this appear on any desired website.

This is what I am trying to produce - here a virtual spokesperson appears on the [url]website: [url]

Have a look at other sites which enable one to type in a URL and their demo virtual spokesperson appears on the given site: [url] [url]

I believe they do this within an iframe to display the underlying website.

View 5 Replies View Related

How To Include Html Files In Html Files

Aug 27, 2009

The problem is, I might want to change the html I include based upon variables passed between web pages.My problem is I don't know how to include html files in html files using javascript! How would you do this?

View 1 Replies View Related

SWF Files

Jun 14, 2007

I have some Flash SWF games on my website with advertising banners on them.
People access a certain game by going to
http://www.mysite.com/flashgame.htm. With IE no problem. But in Firefox they
can type in http://www.mysite.com/flashgame.swf and bypass my banners. The
banners help pay for me hosting these games.

Is there a way with javascript that I can tell when they are going directly
to the swf file instead of going to the htm page? And redirect them to the
htm file?

View 6 Replies View Related

.eml Files To .xls

Jan 13, 2006

I need to change like 500 .eml files to .xls files.

Is this even possible?]

View 2 Replies View Related

How To Use Other Files In JS

Feb 6, 2006

In lets say I have an HTML document that has this in it:

<script type="text/javascript" src="file1.js"></script>
<script type="text/javascript" src="file2.js"></script>

I am trying to use a function that is defined in file 1 inside file 2. Its not working because its telling me that the function is undefined. Is there any way to make one file "see" the functions inside the other file in javascript?

View 5 Replies View Related

Writting Files

Oct 20, 2005

I have a question. Is it possible to write a text file using JavaScript?

View 2 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved