Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can i use resolveurl in javascript

 <script language="javascript" type="text/javascript">
                                                   banner2.add("FLASH", "../Banners/1.swf", 10, 60, 468,"http://www.techpint.com","_blank");
                        banner2.add("FLASH", "../Banners/2.swf", 10, 60, 468,"http://www.tapasya.co.in","_blank");

                    </script>

Now here I want to get the base url of the site so that I can give the path to my flash file in all pages. This script is a part of my master page. Can I run <%= ResolveUrl("~/Banners/1.swf") %> in JavaScript?

banner2.add("FLASH"," <%= ResolveUrl("~/Banners/1.swf") %> ", 10, 60, 468,"http://www.techpint.com","_blank");
like image 678
Shantanu Gupta Avatar asked Dec 10 '09 12:12

Shantanu Gupta


2 Answers

I got the solution. We dont have to do ny formating in javascript. I was using escape sequences to write the path. Thx nyway

banner2.add("FLASH", "<%= ResolveUrl("~/Banners/1.swf") %>", 10, 60, 468,"techpint.com","_blank";); 
like image 103
Shantanu Gupta Avatar answered Sep 30 '22 03:09

Shantanu Gupta


This is something that is super easy, yet I get asked about it quite often.

Here’s how you do it:

In the master page for the site, put this:

<script type="text/javascript">
        var baseUrl = "<%= ResolveUrl("~/") %>";
</script>

Then, in your javascript file, put this function:

function ResolveUrl(url) {
    if (url.indexOf("~/") == 0) {
        url = baseUrl + url.substring(2);
    }
    return url;
}

You could have put the function right in the master page, but then you wouldn’t get intelli-sense on it for the rest of your code.

Now you can call ResolveUrl with ~/ right from javascript.

Super easy, but also super useful!

If you use themes, you might even want to write something that does a “get themed url” where the current theme is output from the master page via Page.Theme.

Source: click me

like image 42
InfantPro'Aravind' Avatar answered Sep 30 '22 02:09

InfantPro'Aravind'