DEV Community

Cover image for (Unknown): Script Error in JavaScript
Deeksha Agarwal for LambdaTest

Posted on • Edited on • Originally published at lambdatest.com

23 15

(Unknown): Script Error in JavaScript

If someone tries to violate the rule that you have set, what you’ll do in return? Send him Script error.

Not in real life, though. 😉

But in JavaScript, if you try to violate the same origin policy, the browser will send you ‘Script error’ in return.

When Script Error Occurs In A JavaScript Code?

When an exception violates the same origin policy of a browser in response to onerror callback, the browser responds with a ‘script error’.

Same Origin policy: According to same origin policy, the browser accepts only the scripts hosted on the same server on two different web pages.

Every browser has a set of acceptable or say, required ‘Request Headers’. When you hit any request on the server, it should contain those essentials for request header. Else you are going to face an script error.

Well, this is an intentional behaviour by the browsers in order to prevent scripts from leaking to external domains. As no one wants to entertain the unwanted requests 😉 Do you?

I am facing an Script Error In JavaScript, What Should I Do?
If you also face the same issue, then go ahead with these possible solutions.

1. Set up Cross-Origin HTTP header
Access-Control-Allow-Origin: *

By setting Access-Control-Allow-Origin: to ‘ * ’, you make sure that you can access the resource from any domain. If necessary, you can also replace the ‘ * ‘ by the specific domain name, which you want that should access your domain’s script.

There is different method to set his to * in different environments.

  • Apache: Create an .htaccess file in the folder where your JS file is served with: Header add Access-Control-Allow-Origin "*"
  • Ngnix: Add add_header directive as:
    location ~ ^/assets/ {
    add_header Access-Control-Allow-Origin *;
    }
    
  • HA Proxy: Add this asset: rspadd Access-Control-Allow-Origin:\ *

2. Set crossorigin=”anonymous”
For every script in your HTML script, that you’ve set Access-Control-Allow-Origin, set
crossorigin="anonymous"

 <script src="http://another-domain.com/app.js" crossorigin="anonymous"></script> 

This code tells that your browser to fetch the target file anonymously avoiding transmission of any user identifying information like HTTP credentials or cookies while requesting by the browser.

If you face any script error in your JavaScript code, hope this article may prove to be of help.

Originally Published Here.

Related Articles:

  1. Reference Error: JavaScript
  2. Common JavaScript Errors and How To Handle Them
  3. Debugging JavaScript Using the Browser’s Developer Console

Sentry blog image

How to reduce TTFB

In the past few years in the web dev world, we’ve seen a significant push towards rendering our websites on the server. Doing so is better for SEO and performs better on low-powered devices, but one thing we had to sacrifice is TTFB.

In this article, we’ll see how we can identify what makes our TTFB high so we can fix it.

Read more

Top comments (1)

Collapse
 
equinusocio profile image
Mattia Astorino • Edited

Maybe off topic but crossorigin="anonymous" is also required for some links, for example when you preload a font

  <link rel="preload" as="font" href="fonts/cicle_fina-webfont.woff2" type="font/woff2" crossorigin="anonymous">

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay