There is a possibility that newer PCI-DSS scans will fail Sellerdeck sites due to the version of the JQuery library being used. It is however possible to download the new library files and change the layout so that it uses them.
The fixes detailed in this article will resolve two issues that will be reported in third party PCI-DSS scans.
Please Note: If you are currently using the Swift template then you do not need to make the JQuery change as you will already be using version 3.5.1. You will still need to make the second change however, if you are running Sellerdeck Desktop 16.1.3 or 18.2.2.
All versions of Sellerdeck software (excluding Swift)
Firstly please go here: -
https://code.jquery.com/jquery-3.5.1.js
and here: -
https://code.jquery.com/jquery-3.5.1.min.js
and download these files into your site folder.
If you have accepted the default installation option this will be: -
Documents\<Sellerdeck Version>\Sites\Site1
Assuming that there is no other site within the software. If there is, replace ‘Site1’ with whichever site you are dealing with.
Then go to ‘Design | Library | Layouts’ and scroll down to the group ‘Javascript Header Functions’ and expand it.
Right click on the layout ‘Standard Javascript Header Functions’ and select ‘Copy’. This will create a backup of the current layout in the case that you need to recover the layout to the earlier version.
Open the layout ‘Standard Javascript Header Functions’.
Right click and select ‘Find’ and search for: -
jquery-1.11.1
This should take you to the line: -
Change ‘jquery-1.11.1’ to ‘jquery-3.5.1’ so that it looks like this: -
Click ‘OK’ to save the layout.
If you are not using v18.2.2 or v16.1.3 upload the site.
If you are using v18.2.2 or v16.1.3, you will need to make the following additional changes.
Versions 18.2.2 and 16.1.3
Within the ‘Standard Javascript Header Functions’ layout, right click and select ‘Find’ and search for: -
hosted.clearaccept
There are two instances of this, so for the first one you will see: -
replace this with: -
Then search again and the second entry will be: -
replace this with: -
Once you have done this click ‘OK’ to save the layout and upload the site for the changes to appear online.
After you have completed any of these changes, thoroughly test the site and place an order through to ClearAccept to check that it completes correctly.
PLEASE NOTE: Uploading the new version will remove the old version of jQuery on the site, so if the HTML is cached in the browser then it may break as the older version will not be on the server. Please see: -
https://community.sellerdeck.com/for...cache-settings
Which deals specifically with caching issues.
Additional Note for Web Designers
With the change to using JQuery 3.5.1 you may find that some third party code no longer functions or produces error messages such as: -
or similar.
This is because the removal of a library of deprecated functions from older versions of JQuery (JQuery Migrate). 'JQuery Migrate' was a temporary solution for web designers to enable operation while the code that used the older functions was updated.
With regard to the 'indexOf' error above, it is using the deprecated 'jQuery.load()' function.
The solution to this would be to replace every instance of 'jQuery.load()' with 'jQuery.on()'.
For example if the code was as follows: -
it would need to be replaced with: -
The fixes detailed in this article will resolve two issues that will be reported in third party PCI-DSS scans.
Please Note: If you are currently using the Swift template then you do not need to make the JQuery change as you will already be using version 3.5.1. You will still need to make the second change however, if you are running Sellerdeck Desktop 16.1.3 or 18.2.2.
All versions of Sellerdeck software (excluding Swift)
Firstly please go here: -
https://code.jquery.com/jquery-3.5.1.js
and here: -
https://code.jquery.com/jquery-3.5.1.min.js
and download these files into your site folder.
If you have accepted the default installation option this will be: -
Documents\<Sellerdeck Version>\Sites\Site1
Assuming that there is no other site within the software. If there is, replace ‘Site1’ with whichever site you are dealing with.
Then go to ‘Design | Library | Layouts’ and scroll down to the group ‘Javascript Header Functions’ and expand it.
Right click on the layout ‘Standard Javascript Header Functions’ and select ‘Copy’. This will create a backup of the current layout in the case that you need to recover the layout to the earlier version.
Open the layout ‘Standard Javascript Header Functions’.
Right click and select ‘Find’ and search for: -
jquery-1.11.1
This should take you to the line: -
Code:
<script type="text/javascript" src="jquery-1.11.1block if.min/block.jsblock if?DAYNO=ECDayno/block"></script>
Code:
<script type="text/javascript" src="jquery-3.5.1block if.min/block.jsblock if?DAYNO=ECDayno/block"></script>
If you are not using v18.2.2 or v16.1.3 upload the site.
If you are using v18.2.2 or v16.1.3, you will need to make the following additional changes.
Versions 18.2.2 and 16.1.3
Within the ‘Standard Javascript Header Functions’ layout, right click and select ‘Find’ and search for: -
hosted.clearaccept
There are two instances of this, so for the first one you will see: -
Code:
<script src="https://sandbox-hosted.clearaccept.systems/fields/v1"></script>
Code:
<script defer src="https://sandbox-scripts.clearaccept.systems/hostedfields.1.32.1.js" integrity="sha512-jN1ba8Dn/2scsRsCjf4EAoPC6P1Uc7lm/q1v3FVyJeJZ29s6N9RRrmvegOyxsbKIpyPlfF2m+TyZ5+0zdu7dYQ==" crossorigin="anonymous" > </script>
Code:
<script src="https://hosted.clearaccept.com/fields/v1"></script>
Code:
<script defer src="https://scripts.clearaccept.com/hostedfields.1.32.1.js" integrity="sha512-eVKVzHuKCHTaFKYEOVauF2ayZiVdxa3HhK9gl7MF7nKAvtRvaVdNNviuk9sIVdHD/mqipHFhqrAEiYvdI03a/Q==" crossorigin="anonymous" > </script>
After you have completed any of these changes, thoroughly test the site and place an order through to ClearAccept to check that it completes correctly.
PLEASE NOTE: Uploading the new version will remove the old version of jQuery on the site, so if the HTML is cached in the browser then it may break as the older version will not be on the server. Please see: -
https://community.sellerdeck.com/for...cache-settings
Which deals specifically with caching issues.
Additional Note for Web Designers
With the change to using JQuery 3.5.1 you may find that some third party code no longer functions or produces error messages such as: -
Code:
Uncaught TypeError: a.indexOf is not a function
This is because the removal of a library of deprecated functions from older versions of JQuery (JQuery Migrate). 'JQuery Migrate' was a temporary solution for web designers to enable operation while the code that used the older functions was updated.
With regard to the 'indexOf' error above, it is using the deprecated 'jQuery.load()' function.
The solution to this would be to replace every instance of 'jQuery.load()' with 'jQuery.on()'.
For example if the code was as follows: -
Code:
$(window).load(function(a) {
Code:
$(window).on("load",function(a) {