Solved

Javascript Unterminated string literal error

Posted on 2008-06-25
16
2,075 Views
Last Modified: 2013-11-19
Getting an error with firebug: "unterminated string literal".  I know it's something simple...but I'm not seeing it:
var slideshow = '<script type="text/javascript">AC_FL_RunContent( \'codebase\',\'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0\',\'width\',\'350\',\'height\',\'234\',\'title\',\'Fire Sprinkler Images\',\'src\',\'preview\',\'quality\',\'high\',\'pluginspage\',\'http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash\',\'movie\',\'preview\' ); </script><noscript><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="350" height="234" title="Fire Sprinkler Images"><param name="movie" value="preview.swf" /><param name="quality" value="high" /><embed src="preview.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="350" height="234"></embed></object></noscript>';

Open in new window

0
Comment
Question by:rowejd
  • 9
  • 7
16 Comments
 
LVL 41

Expert Comment

by:HonorGod
Comment Utility
wouldn't it be easier to consistently use double quotes?
var slideshow = '<script type="text/javascript">AC_FL_RunContent( "codebase","http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0","width","350","height","234","title","Fire Sprinkler Images","src","preview","quality","high","pluginspage","http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash","movie","preview" );</script><noscript><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="350" height="234" title="Fire Sprinkler Images"><param name="movie" value="preview.swf" /><param name="quality" value="high" /><embed src="preview.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="350" height="234"></embed></object></noscript>';

Open in new window

0
 
LVL 12

Author Comment

by:rowejd
Comment Utility
Yes - that's just the auto code generated by Dreamweaver.  Changed it, but still gives me the error.

here's the code in-context:
	function loadflash() {

		var slideshow = '<script type="text/javascript">AC_FL_RunContent( "codebase","http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0","width","350","height","234","title","Fire Sprinkler Images","src","preview","quality","high","pluginspage","http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash","movie","preview" );</script><noscript><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="350" height="234" title="Fire Sprinkler Images"><param name="movie" value="preview.swf" /><param name="quality" value="high" /><embed src="preview.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="350" height="234"></embed></object></noscript>';

	    document.getElementById("homeflash").innerHTML = slideshow;		

	}

Open in new window

0
 
LVL 12

Author Comment

by:rowejd
Comment Utility
Sorry meant to do the whole thing...
<script type="text/javascript">

	window.onload = function () { loadflash(); }

	

	function loadflash() {

		var slideshow = '<script type="text/javascript">AC_FL_RunContent( "codebase","http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0","width","350","height","234","title","Fire Sprinkler Images","src","preview","quality","high","pluginspage","http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash","movie","preview" );</script><noscript><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="350" height="234" title="Fire Sprinkler Images"><param name="movie" value="preview.swf" /><param name="quality" value="high" /><embed src="preview.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="350" height="234"></embed></object></noscript>';

	    document.getElementById("homeflash").innerHTML = slideshow;		

	}

</script>

Open in new window

0
 
LVL 12

Author Comment

by:rowejd
Comment Utility
Nice profile, by the way.  I'm a seminary student coding my way through school.  My majors were bible & biblical languages -- going for my MDiv now.
0
 
LVL 41

Expert Comment

by:HonorGod
Comment Utility
Cool.  Good luck on that.

Option #1 - do you get the "Element not found" message?
<script type="text/javascript">

  window.onload = function () { loadflash(); }

        

  function loadflash() {

    var slideshow = '<script type="text/javascript">AC_FL_RunContent( "codebase","http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0","width","350","height","234","title","Fire Sprinkler Images","src","preview","quality","high","pluginspage","http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash","movie","preview" );</script><noscript><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="350" height="234" title="Fire Sprinkler Images"><param name="movie" value="preview.swf" /><param name="quality" value="high" /><embed src="preview.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="350" height="234"></embed></object></noscript>';

    var home = document.getElementById( "homeflash" );

    if ( home ) {

      home.innerHTML = slideshow;         

    } else {

      alert( 'Element not found.  id="homeflas"' );

    }

  }

</script>

Open in new window

0
 
LVL 41

Expert Comment

by:HonorGod
Comment Utility
Option #2
<script type="text/javascript">

  window.onload = function () { 

    AC_FL_RunContent( "codebase","http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0","width","350","height","234","title","Fire Sprinkler Images","src","preview","quality","high","pluginspage","http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash","movie","preview" );

  }

</script>
 

<noscript>

  <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="350" height="234" title="Fire Sprinkler Images">

    <param name="movie" value="preview.swf" />

    <param name="quality" value="high" />

      <embed src="preview.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="350" height="234"></embed>

  </object>

</noscript>

Open in new window

0
 
LVL 12

Author Comment

by:rowejd
Comment Utility
Still no dice.  I see part of the javascript show at the top of my page.

Here's where I'm trying to use it.  I'm using the onload function simply because I want the rest of the page to load first and then the flash.

http://dime159.dizinc.com/~firespri/
0
 
LVL 41

Expert Comment

by:HonorGod
Comment Utility
Interesting, in the top of my FireFox 3, window (i.e., between the tabs, and the main page), I see:

'; var home = document.getElementById( "homeflash" ); if ( home ) { home.innerHTML = slideshow; } else { alert( 'Element not found. id="homeflas"' ); } }

So, presumably you are talking about option #1.  Right?
0
Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 
LVL 12

Author Comment

by:rowejd
Comment Utility
correct.  I used option 1...but tried 2 as well and it gives me other errors.  I just can't figure out why option 1 wouldn't work though?
0
 
LVL 41

Accepted Solution

by:
HonorGod earned 500 total points
Comment Utility
Change line 12 to be:
var slideshow = '<script type="text\/javascript">AC_FL_RunContent( "codebase","http:\/\/download.macromedia.com\/pub\/shockwave\/cabs\/flash\/swflash.cab#version=9,0,28,0","width","350","height","234","title","Fire Sprinkler Images","src","preview","quality","high","pluginspage","http:\/\/www.adobe.com\/shockwave\/download\/download.cgi?P1_Prod_Version=ShockwaveFlash","movie","preview" );<\/script><noscript><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http:\/\/download.macromedia.com\/pub\/shockwave\/cabs\/flash\/swflash.cab#version=9,0,28,0" width="350" height="234" title="Fire Sprinkler Images"><param name="movie" value="preview.swf" \/><param name="quality" value="high" \/><embed src="preview.swf" quality="high" pluginspage="http:\/\/www.adobe.com\/shockwave\/download\/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application\/x-shockwave-flash" width="350" height="234"><\/embed><\/object><\/noscript>';

Open in new window

0
 
LVL 12

Author Comment

by:rowejd
Comment Utility
No errors in the javascript now...but no flash content in the div?
0
 
LVL 41

Expert Comment

by:HonorGod
Comment Utility
Unfortunately, I don't know anything about Flash, or the function:

AC_FL_RunContent()
0
 
LVL 12

Author Comment

by:rowejd
Comment Utility
Well...if you care to check it out -- here's what it looks like working:

http://clearlyconsulting.org   (temporary testing)

This is without any javascript onload functionality...same exact code, so it shouldn't have anything to do with that right?  Let me know what you think?
0
 
LVL 12

Author Comment

by:rowejd
Comment Utility
Well, you were right about the AC_FL_RunContent() deal -- that's what was messing things up.

I took out the noscript tags and the AC function and just used the object tags and it worked fine.  Thanks for the help!
0
 
LVL 12

Author Closing Comment

by:rowejd
Comment Utility
Thanks so much --- totally forgot to consider the URL slashes needing to be escaped!
0
 
LVL 41

Expert Comment

by:HonorGod
Comment Utility
Ah, that is excellent news!  I'm glad to have been of some help.

Thanks for the grade and the points.

Good luck, and have a great day.
0

Featured Post

Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

Join & Write a Comment

International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
I've been asked to discuss some of the UX activities that I'm using with my team. Here I will share some details about how we approach UX projects.
Viewers will learn about the regular for loop in Java and how to use it. Definition: Break the for loop down into 3 parts: Syntax when using for loops: Example using a for loop:
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now