Horror: Storm hits cruise ship and forces it to list 45 degrees – ‘It was like the Titanic’ (video)

Canadian passenger Dan So, 41, filmed people around him frantically trying to stand as objects fell and shattered around them as Royal Caribbean’s Explorer of the Seas capsized violently during a storm off its coast of Africa last week – with objects around them smashing to the ground.

“It was like the Titanic,” So told Kennedy News and Media, seeing “people screaming and glasses breaking.”

“I thought this could be the end and the ship would go into the water,” he added of the alarming “45 degree” tilt.

“I took out my mobile phone and texted my colleagues, telling them I don’t know what’s going to happen and to be careful. I was writing my last message, thinking I was going to die,” added the 41-year-old, who was traveling on a cruise ship for the first time in his life.

One passenger was reportedly injured during the bad weather as passengers were taken to their rooms for an hour for necessary checks to be carried out.

The ship made an unscheduled stop in Las Palmas to help the injured passenger before continuing on its way, the company said.

Melania Trump: Not moving into the White House – “This time it will be different”

Black Friday: What consumers should watch out for

Brazil: Man strapped with explosives detonates outside Supreme Court

Kostas Martakis: “When I entered, some people told me to undress”

#Horror #Storm #hits #cruise #ship #forces #list #degrees #Titanic #video

```javascript

It looks‍ like you're working with ​a JavaScript snippet that involves conditional⁢ rendering and loading of ‌various ad-related scripts on a webpage. The code is structured to handle several advertising services ​such as Google AdSense, Phaistos⁣ Adman, OneSignal, Disqus, and others. However, many of the ‌script load⁢ calls are incomplete and ​commented or run into placeholders.

Here's a brief overview and some suggestions on how to enhance or structure ​it further:

### Code Review and Suggestions

1. **Complete the⁢ Placeholder URLs ‍and IDs**:

‌ The script contains placeholders (`"`) ‍and commented-out sections ⁤where actual​ URLs​ or identifiers should be.⁢ Make sure you⁣ replace those placeholders with the correct URLs for ⁢the scripts you're trying to ‍load.

2. **Async Load ⁢Functionality**:

Ensure the ⁢`asyncLoadScript` function is defined somewhere‍ in ⁢your‌ code. For example:

```javascript

function asyncLoadScript(src) {

⁤ const script⁢ = document.createElement('script');

‌ ⁣ script.src = src;

‌ script.async = true;

⁤ document.head.appendChild(script);

}

```

3. **Properly Handle‌ Timeout ⁣and ⁢Delays**:

​ Currently, there ⁣are several⁤ `setTimeout` calls.⁢ Check whether you need these delays,⁢ as they could interfere with loading time or ‍user‌ experience.

4. **Logging and Error ⁣Handling**:

Consider adding ⁢error handling or ‍console logging within ⁢your `asyncLoadScript` function to ​trace if scripts load⁣ successfully ‌or⁢ throw errors. Example:

​ ```javascript

⁤script.onload ⁢= () => console.log(`Loaded‍ script: ⁣${src}`);

‍ script.onerror = () => console.error(`Error loading script: ${src}`);

‌ ```

5. **Cleaner Configuration for External Integrations**:

‌ For third-party libraries (like ⁢OneSignal and Disqus), encapsulate their initialization in functions or classes to avoid polluting the global namespace and make the⁣ code more maintainable.

6. **Comment Descriptions**:

Continue to use comments wisely, but ensure⁢ they accurately ‌describe what‍ the functionality ‍does. This helps maintainability.

7. **Code Structure**:

Organize related functionalities into functions‌ or ‌modules, ⁤which leads⁢ to ⁢better readability. For example:

⁢ ```javascript

function initializeOneSignal() {

window.OneSignalDeferred ‌= ⁤window.OneSignalDeferred || [];

⁣ OneSignalDeferred.push(function(OneSignal) {

‍ OneSignal.init({

⁣ appId: "487cc53b-3b66-4f84-8803-3a3a133043ab",

});

⁤ });

}

```

### Example of Revised Code Structure

Here's how part of your⁢ code‍ might⁤ look after implementing some of​ the⁤ suggestions:

```javascript

} else {

document.querySelectorAll('.adsense-for-mobile').forEach(function(e) {

⁣ e.querySelector('.adsbygoogle').remove();

});

}

const adSenseSlots = document.querySelectorAll('.adsbygoogle');

if (adSenseSlots.length > 0)⁤ {

⁤adSenseSlots.forEach(function(e) {

‍ // Perform actions for each adsbygoogle slot

⁢‌ ‍ });

}

// Initialize OneSignal

function initializeOneSignal() {

window.OneSignalDeferred = window.OneSignalDeferred || ⁣ [];

⁣ ⁢ OneSignalDeferred.push(function(OneSignal) {

⁢ ⁣ OneSignal.init({

⁤ ‌ ⁢ appId:⁤ "487cc53b-3b66-4f84-8803-3a3a133043ab",

⁢ ‌ ⁤ });

});

}

// Disqus configuration

function initializeDisqus() {

var disqus_config = function() {

⁣ ⁤ this.page.url⁤ = ⁣"YOUR_PAGE_URL"; // Set page URL

⁣ this.page.identifier = 1565586; ⁤ ⁢ // Set page identifier

⁤ };

setTimeout(function() ​{

⁤ var d‍ = document;

var s‍ = ‌d.createElement('script');

s.src = "YOUR_DISQUS_URL"; ‍// ‌Replace with actual Disqus URL

s.setAttribute('data-timestamp', +new Date());

‌ ⁣(d.head ⁤|| d.body).appendChild(s);

⁢ }, 3000);

}

// Call⁣ initialization functions

initializeOneSignal();

initializeDisqus();

// Add other initializations similarly...

```

### Final‍ Note

Make ⁤sure to test thoroughly after implementing changes to ensure that all ads and integrations load correctly and‌ interactively across⁢ your web ‌pages. ‌If you‌ encounter specific error messages or problematic behavior ‍during testing, iteratively debugging those will be crucial.

Leave a Replay