Search code examples
javascriptjssorebay-design-templates

JSSOR slider in eBay listing won't work, error message "you can't put JavaScript"


I really need your help on something. I'm trying to create some eBay auctions using a template which I created. For images I used the Jssor Slider. On their website they say that it'll work with eBay and I saw the live demo, so there seems to be a way to get it to work.

Now after finishing the template I wanted to create the first auction, but I get an error while creating the auction saying something like:

"Your offer can't contain any JavaScript (''.cookie'', ''cookie('', ''replace('', IFRAME, META or includes) nor may it contain Cookies or base href."

The error message isn't an exact match since it's in German, but you guys get the idea.

I did everything according to the steps on the jssor website, compressed both the js-file and also the source-html file and put it inside my -tag.

Here's the source-code, hope someone can tell me what I have to do differently to avoid eBay complaining.

<body>
<style type="text/css">
body {
font-family: ARIAL, sans-serif;
font-size: 16px;
text-align: justify;
}
h1 {
text-align: center;
color: #fff;
background-color: #666;
}
h2 {
text-align: center;
border:1px solid #666;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5'); /*IE6-9 */
background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5)); /* webkit */
background: -moz-linear-gradient(top, #ffffff, #f5f5f5); /*firefox 3.6+ */
background: -o-linear-gradient(top, #ffffff, #f5f5f5); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #ffffff, #f5f5f5); /* IE10+ */
border-radius:5px;
border-bottom: 3px solid #666;
margin-bottom: 30px;
margin-top: 50px;
}
a, a:hover, a:active, a:visited, a:link {
text-decoration: none;
color: inherit;
}
#outer-div {
width: 900px;
margin-left: auto;
margin-right: auto;
margin-bottom: 50px;
padding-bottom: 50px;
}
#head-div {
font-size: 13px;
margin-left: auto;
margin-right: auto;
}
#head-pictures {
height: 100%;
vertical-align: middle;
text-align: center;
}
.top-middle {
vertical-align: middle;
}
#head-usp {
position: relative;
width: 815px;
margin-top: 15px;
margin-left: auto;
margin-right: auto;
}
#head-usp div {
width: auto;
height: 28px;
line-height: 28px;
float: left;
vertical-align: middle;
}
.usp1 {
background: url('http://duoform.stefanphilippschulte.de/usp-icons/certificate.jpg') no-repeat;
vertical-align: middle;
padding: 0 15px 0 30px;
}
.usp2 {
background: url('http://duoform.stefanphilippschulte.de/usp-icons/delivery.jpg') no-repeat;
vertical-align: middle;
padding: 0 15px 0 59px;
}
.usp3 {
background: url('http://duoform.stefanphilippschulte.de/usp-icons/world.jpg') no-repeat;
vertical-align: middle;
padding: 0 15px 0 38px;
}
.usp4 {
background: url('http://duoform.stefanphilippschulte.de/usp-icons/telephone.jpg') no-repeat;
vertical-align: middle;
padding: 0 15px 0 43px;
}
.usp5 {
background: url('http://duoform.stefanphilippschulte.de/usp-icons/mail.jpg') no-repeat;
vertical-align: middle;
padding: 0 0 0 47px;
}
#content-outer {
position: relative;
margin-top: 70px;
margin-left: auto;
margin-right: auto;
width: 860px;
height: auto;
/* border: 1px solid #666;*/
border-bottom: 2px solid #666;
border-top: 2px solid #666;
padding: 0 15px 15px;
}
#content-inner {
position: inherit;
width: 800px;
margin: 0 auto;
}
.abstract {
padding: 0 50px 0;
background-color: #fff;
}
#slider {
width: 100%;
margin: 20px auto 0;
}
.detail {
width: 90%;
margin: 0 auto;
border: 0px;
border-collapse: collapse;
}
.detail tr:nth-child(odd) {
background-color: #ccc;
}
.detail td {
padding: 10px;
}
.ueber1 {
float: left;
margin: 0 20px 20px 0;
}
.ueber2 {
float: left;
margin: 0 20px 0 0;
}
#footer-div {
font-size: 13px;
position: relative;
width: 100%;
margin-top: 15px;
text-align: left;
}
#footer-div div {
width: 33%;
float: left;
vertical-align: middle;
}
.footer1 {
min-width: 232px;
margin-left: 0;
}
.footer2 {
height: 72px;
text-align: center;
}
.footer3 {
width: 90%;
margin-right: 0;
padding-right: 0;
text-align: right;
}
</style>
<div id="outer-div">
<div id="head-div">
<div id="head-pictures">
<img class="top-middle" src="http://duoform.stefanphilippschulte.de/top_couch.jpg" alt="duoform Polstermöbel - Made in Germany" width="559px" height="243px" />
<img class="top-middle" src="http://duoform.stefanphilippschulte.de/logo_einfach.png" alt="duoform Polstermöbel - Made in Germany" width="232px" height="72px" />
</div>
<div id="head-usp">
<div class="usp1">2 Jahre Garantie</div>
<div class="usp2">Kostenlose Lieferung*</div>
<div class="usp3">Made in Germany</div>
<div class="usp4">05225 - 862474</div>
<div class="usp5"><a href="mailto:[email protected]">[email protected]</a></div>
</div>
</div>
<div id="content-outer">
<div id="content-inner">
<h1>Duoform Boxspringbett 9010 - Schlafen wie im Hotel</h1>
<div class="abstract">
<em>Genießen Sie erholsame Nächte durch einen besonderen Schlafkomfort wie im Hotel. Die mitgelieferten 7-Zonen-Taschenfederkern Matratzen mit beidseitiger, je 3cm hoher, Komfortschaum-Auflage sorgen für die ausgezeichnete Bequemlichkeit. Dieses Boxspringbett bildet durch seine Bodenfreiheit und hochwertigen Chrom-Füße einen eleganten Mittelpunkt in Ihrem Schlafzimmer. Das Modell 9010 wurde ausschließlich mit hochwertigen Materialien in Deutschland hergestellt. Um genau Ihren Geschmack zu treffen, haben Sie die Wahl bei sowohl dem Material, der Farbe, als auch der Härte Ihrer neuen Matratzen. Der abgebildete Topper ist im Lieferumfang enthalten, die dargestellten Decken und Kissen sind separat erhältlich. Kaufen Sie hier Qualität direkt vom Hersteller</em>
</div>
<div id="slider">
<style>
/*Jssor*/
.jssora02l, .jssora02r, .jssora02ldn, .jssora02rdn {
position: absolute;
cursor: pointer;
display: block;
background: url(http://duoform.stefanphilippschulte.de/slider/a02.png) no-repeat;
overflow:hidden;
}
.jssora02l { background-position: -3px -33px; }
.jssora02r { background-position: -63px -33px; }
.jssora02l:hover { background-position: -123px -33px; }
.jssora02r:hover { background-position: -183px -33px; }
.jssora02ldn { background-position: -3px -33px; }
.jssora02rdn { background-position: -63px -33px; }
.jssort01 .w{position:absolute;top:0;left:0;width:100%;height:100%}
.jssort01 .c{position:absolute;top:0;left:0;width:68px;height:68px;border:#fff 2px solid}
.jssort01 .p:hover .c,.jssort01 .pav:hover .c,.jssort01 .pav .c{background:url(slider/t01.png) center center;border-width:0;top:2px;left:2px;width:68px;height:68px}
.jssort01 .p:hover .c,.jssort01 .pav:hover .c{top:0;left:0;width:70px;height:70px;border:#fff 1px solid}
</style>
<script type="text/javascript" src="http://duoform.stefanphilippschulte.de/slider/jssor.slider.min.js"></script>
<script>
jssor_slider1_starter = function (containerId) {
var _SlideshowTransitions = [
//Fade in L
{$Duration: 1200, x: 0.3, $During: { $Left: [0.3, 0.7] }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 }
//Fade out R
, { $Duration: 1200, x: -0.3, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 }
//Fade in R
, { $Duration: 1200, x: -0.3, $During: { $Left: [0.3, 0.7] }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 }
//Fade out L
, { $Duration: 1200, x: 0.3, $SlideOut: true, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 }
//Fade in T
, { $Duration: 1200, y: 0.3, $During: { $Top: [0.3, 0.7] }, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Outside: true }
//Fade out B
, { $Duration: 1200, y: -0.3, $SlideOut: true, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Outside: true }
//Fade in B
, { $Duration: 1200, y: -0.3, $During: { $Top: [0.3, 0.7] }, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 }
//Fade out T
, { $Duration: 1200, y: 0.3, $SlideOut: true, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 }
//Fade in LR
, { $Duration: 1200, x: 0.3, $Cols: 2, $During: { $Left: [0.3, 0.7] }, $ChessMode: { $Column: 3 }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Outside: true }
//Fade out LR
, { $Duration: 1200, x: 0.3, $Cols: 2, $SlideOut: true, $ChessMode: { $Column: 3 }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Outside: true }
//Fade in TB
, { $Duration: 1200, y: 0.3, $Rows: 2, $During: { $Top: [0.3, 0.7] }, $ChessMode: { $Row: 12 }, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 }
//Fade out TB
, { $Duration: 1200, y: 0.3, $Rows: 2, $SlideOut: true, $ChessMode: { $Row: 12 }, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 }
//Fade in LR Chess
, { $Duration: 1200, y: 0.3, $Cols: 2, $During: { $Top: [0.3, 0.7] }, $ChessMode: { $Column: 12 }, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Outside: true }
//Fade out LR Chess
, { $Duration: 1200, y: -0.3, $Cols: 2, $SlideOut: true, $ChessMode: { $Column: 12 }, $Easing: { $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 }
//Fade in TB Chess
, { $Duration: 1200, x: 0.3, $Rows: 2, $During: { $Left: [0.3, 0.7] }, $ChessMode: { $Row: 3 }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Outside: true }
//Fade out TB Chess
, { $Duration: 1200, x: -0.3, $Rows: 2, $SlideOut: true, $ChessMode: { $Row: 3 }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 }
//Fade in Corners
, { $Duration: 1200, x: 0.3, y: 0.3, $Cols: 2, $Rows: 2, $During: { $Left: [0.3, 0.7], $Top: [0.3, 0.7] }, $ChessMode: { $Column: 3, $Row: 12 }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Outside: true }
//Fade out Corners
, { $Duration: 1200, x: 0.3, y: 0.3, $Cols: 2, $Rows: 2, $During: { $Left: [0.3, 0.7], $Top: [0.3, 0.7] }, $SlideOut: true, $ChessMode: { $Column: 3, $Row: 12 }, $Easing: { $Left: $JssorEasing$.$EaseInCubic, $Top: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2, $Outside: true }
//Fade Clip in H
, { $Duration: 1200, $Delay: 20, $Clip: 3, $Assembly: 260, $Easing: { $Clip: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 }
//Fade Clip out H
, { $Duration: 1200, $Delay: 20, $Clip: 3, $SlideOut: true, $Assembly: 260, $Easing: { $Clip: $JssorEasing$.$EaseOutCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 }
//Fade Clip in V
, { $Duration: 1200, $Delay: 20, $Clip: 12, $Assembly: 260, $Easing: { $Clip: $JssorEasing$.$EaseInCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 }
//Fade Clip out V
, { $Duration: 1200, $Delay: 20, $Clip: 12, $SlideOut: true, $Assembly: 260, $Easing: { $Clip: $JssorEasing$.$EaseOutCubic, $Opacity: $JssorEasing$.$EaseLinear }, $Opacity: 2 }
];
var options = {
$AutoPlay: false, //[Optional] Whether to auto play, to enable slideshow, this option must be set to true, default value is false
$AutoPlayInterval: 1500, //[Optional] Interval (in milliseconds) to go for next slide since the previous stopped if the slider is auto playing, default value is 3000
$PauseOnHover: 1, //[Optional] Whether to pause when mouse over if a slider is auto playing, 0 no pause, 1 pause for desktop, 2 pause for touch device, 3 pause for desktop and touch device, 4 freeze for desktop, 8 freeze for touch device, 12 freeze for desktop and touch device, default value is 1
$DragOrientation: 3, //[Optional] Orientation to drag slide, 0 no drag, 1 horizental, 2 vertical, 3 either, default value is 1 (Note that the $DragOrientation should be the same as $PlayOrientation when $DisplayPieces is greater than 1, or parking position is not 0)
$ArrowKeyNavigation: true, //[Optional] Allows keyboard (arrow key) navigation or not, default value is false
$SlideDuration: 800, //Specifies default duration (swipe) for slide in milliseconds
$SlideshowOptions: { //[Optional] Options to specify and enable slideshow or not
$Class: $JssorSlideshowRunner$, //[Required] Class to create instance of slideshow
$Transitions: _SlideshowTransitions, //[Required] An array of slideshow transitions to play slideshow
$TransitionsOrder: 1, //[Optional] The way to choose transition to play slide, 1 Sequence, 0 Random
$ShowLink: true //[Optional] Whether to bring slide link on top of the slider when slideshow is running, default value is false
},
$ArrowNavigatorOptions: { //[Optional] Options to specify and enable arrow navigator or not
$Class: $JssorArrowNavigator$, //[Requried] Class to create arrow navigator instance
$ChanceToShow: 1 //[Required] 0 Never, 1 Mouse Over, 2 Always
},
$ThumbnailNavigatorOptions: { //[Optional] Options to specify and enable thumbnail navigator or not
$Class: $JssorThumbnailNavigator$, //[Required] Class to create thumbnail navigator instance
$ChanceToShow: 2, //[Required] 0 Never, 1 Mouse Over, 2 Always
$ActionMode: 1, //[Optional] 0 None, 1 act by click, 2 act by mouse hover, 3 both, default value is 1
$SpacingX: 8, //[Optional] Horizontal space between each thumbnail in pixel, default value is 0
$DisplayPieces: 10, //[Optional] Number of pieces to display, default value is 1
$ParkingPosition: 360 //[Optional] The offset position to park thumbnail
}
};
var jssor_slider1 = new $JssorSlider$(containerId, options);
//responsive code begin
//you can remove responsive code if you don't want the slider scales while window resizes
function ScaleSlider() {
var parentWidth = jssor_slider1.$Elmt.parentNode.clientWidth;
if (parentWidth)
jssor_slider1.$ScaleWidth(Math.max(Math.min(parentWidth, 800), 300));
else
$JssorUtils$.$Delay(ScaleSlider, 30);
}
ScaleSlider();
$Jssor$.$AddEvent(window, "load", ScaleSlider);

$Jssor$.$AddEvent(window, "resize", $Jssor$.$WindowResizeFilter(window, ScaleSlider));
$Jssor$.$AddEvent(window, "orientationchange", ScaleSlider);
//responsive code end
};
</script>
<div id="slider1_container" style="position:relative;top:0px;left:0px;width:800px;height:550px;background:#666;overflow:hidden;">
<div u="loading" style="position:absolute;top:0px;left:0px;">
<div style="filter:alpha(opacity=70);opacity:0.7;position:absolute;display:block;background-color:#666;top:0px;left:0px;width:100%;height:100%;">
</div>
<div style="position:absolute;display:block;background:url(slider/loading.gif) no-repeat center center;top:0px;left:0px;width:100%;height:100%;">
</div>
</div>
<div u="slides" style="cursor:move;position:absolute;left:0px;top:0px;width:800px;height:450px;overflow:hidden;">
<div>
<img u="image" src="http://duoform.stefanphilippschulte.de/terracotta/01.jpg">
<img u="thumb" src="http://duoform.stefanphilippschulte.de/terracotta/thumbs/01.jpg">
</div>
<div>
<img u="image" src="http://duoform.stefanphilippschulte.de/terracotta/02.jpg">
<img u="thumb" src="http://duoform.stefanphilippschulte.de/terracotta/thumbs/02.jpg">
</div>
<div>
<img u="image" src="http://duoform.stefanphilippschulte.de/terracotta/03.jpg">
<img u="thumb" src="http://duoform.stefanphilippschulte.de/terracotta/thumbs/03.jpg">
</div>
</div>
<!-- Arrow Left -->
<span u="arrowleft" class="jssora02l" style="width: 55px; height: 55px; top: 197px; left: 8px;">
</span>
<!-- Arrow Right -->
<span u="arrowright" class="jssora02r" style="width: 55px; height: 55px; top: 197px; right: 8px">
</span>
<div u="thumbnavigator" class="jssort01" style="position:absolute;width:800px;height:100px;left:0px;bottom:0px;">
<div u="slides" style="cursor:move;">
<div u="prototype" class="p" style="position:absolute;width:72px;height:72px;top:0;left:0;">
<div class="w"><thumbnailtemplate style=" width:100%;height:100%;border:none;position:absolute;top:0;left:0;"></thumbnailtemplate></div>
<div class="c">
</div>
</div>
</div>
</div>
<a style="display:none" href="http://www.jssor.com">responsive slider jquery</a>
<script>
jssor_slider1_starter('slider1_container');
</script>
</div>
</div>

Thanks for the help :)


Solution

  • You cannot reference external js file in ebay listing.

    Please remove the following code,

    <script type="text/javascript" src="http://duoform.stefanphilippschulte.de/slider/jssor.slider.min.js"></script>
    

    The way to make ebay friendly slider is as follows,

    1. Develop your slider and make it work
    2. Compress your slider
    3. Extract code snippet from the compressed file

    For example,

    1. Open 'examples-no-jquery' folder.
    2. Run 'simple-slider.compress.bat' to compress 'simple-slider.source.html' to 'simple-slider.html'.
    3. Open 'simple-slider.html' and copy code snippet.

    Reference: http://www.jssor.com/development/embed-jssor-slider-into-ebay-listing.html