Load omniture library via launch breaking | Community
Skip to main content
susheel
Level 5
January 9, 2019
Solved

Load omniture library via launch breaking

  • January 9, 2019
  • 4 replies
  • 5348 views

I am trying to load Adobe Visitor API for JavaScript version: 1.7.0 via Adobe Launch rule but the code is coming out of script tag after certain code.

<script>somecode</script>

remaining code coming out of script tag

Not sure why its happening.

any better way to load libraries ??

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by brandon_pack

Thanks for the additional info.  Version 1.7.0 of VisitorAPI.js is really old and no longer supported since we are at version 3.3.0 as of today.  I would recommend upgrading to a newer library and ideally use the built in Launch Extension for "Experience Cloud ID Service."  Then you can just use Launch to keep it up to date goting forward.  However if your use case does not allow for that, you should still be able to create a "Custom Code" action in a Launch rule.  Just choose "HTML" as your lanuage and then click on "Open Editor" and just include the script tags you need.

In your example above, the test variable would just be a String however and not actually load the external library unless you append it to the DOM or do something with it.  But if that's what you want to have happen, then just escape the closing slash and Launch should not have any syntax errors.  This worked for me:

<script>

    var test  = '<script src="/js/VisitorAPI_1_7_0.js"><\/script>';

    var test1 = 'adasd';

</script>

Console output:

4 replies

brandon_pack
Adobe Employee
Adobe Employee
January 9, 2019

We will probably need more information to help out on this.  Info like whether you are using the built in "Experience Cloud ID Service" extension or if you are doing it manually.  Also if you can provide more details like maybe a link to the property where you are seeing this and maybe the Launch propery, it would be helpful.

Thanks

susheel
susheelAuthor
Level 5
January 10, 2019

I am not using the experience cloud id service. I am just loading it a java script via rules as that is how it was done in signal previously. The actual issue is:

For example if the javascript is as below.

<script>

    var test = '<script src=""><\script>';

    var test1="adasd";

</script>

Browser will treat </script> in the second line as end of script spit out the rest on the browser directly as below.

<script>

    var test = '<script src="">

</script>

;var test1="adasd";

Somehow I tried to fix it by doing as below:

<script>

    var test = '<script src=""><\scr'+'ipt>';

    var test1="adasd";

</script>

The above code worked in normal browser but when I put the script via launch seems like the code is getting converted while build I suppose and getting same issue again.

brandon_pack
Adobe Employee
brandon_packAdobe EmployeeAccepted solution
Adobe Employee
January 11, 2019

Thanks for the additional info.  Version 1.7.0 of VisitorAPI.js is really old and no longer supported since we are at version 3.3.0 as of today.  I would recommend upgrading to a newer library and ideally use the built in Launch Extension for "Experience Cloud ID Service."  Then you can just use Launch to keep it up to date goting forward.  However if your use case does not allow for that, you should still be able to create a "Custom Code" action in a Launch rule.  Just choose "HTML" as your lanuage and then click on "Open Editor" and just include the script tags you need.

In your example above, the test variable would just be a String however and not actually load the external library unless you append it to the DOM or do something with it.  But if that's what you want to have happen, then just escape the closing slash and Launch should not have any syntax errors.  This worked for me:

<script>

    var test  = '<script src="/js/VisitorAPI_1_7_0.js"><\/script>';

    var test1 = 'adasd';

</script>

Console output:

susheel
susheelAuthor
Level 5
January 11, 2019

That was just an example script to explain the issue.