Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

SOLVED

Load omniture library via launch breaking

susheel
Level 5
Level 5

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 ??

1 Accepted Solution
brandon_pack
Correct answer by
Employee
Employee

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.

CustomRule-1.png

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:

View solution in original post

0 Replies
brandon_pack
Employee
Employee

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
Level 5
Level 5

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
Correct answer by
Employee
Employee

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.

CustomRule-1.png

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:

View solution in original post

susheel
Level 5
Level 5

That was just an example script to explain the issue.