PageSourceSearch

https://afrimetro.com/

html afrimetro.com collected 2026-10-08 05:18:06 UTC 3,409 bytes, 96 lines download raw bytes

1<!doctype html>
2<html lang="en">
3  <head>
4    <meta charset="UTF-8" />
5    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6    <title>AFRIMETRO</title>
7
8    <!-- Favicon -->
9    <link rel="icon" type="image/x-icon" href="/favicon.ico" />
10    <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
11    <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
12    <link rel="apple-touch-icon" href="/apple-touch-icon.png" />
13    <link rel="shortcut icon" href="/favicon.ico" />
14    
14<script type="module" crossorigin src="/assets/index-Bx0c1cDW.js"></script>
14
15    <link rel="stylesheet" crossorigin href="/assets/index-DJ2BgtjW.css">
16  </head>
17
18  <body>
19    <div id="root"></div>
20
21
22    <!-- Live Chat Widget with Enhanced Error Handling -->
23    
23<script>
24      // Enhanced error handling for live chat script
25      window.addEventListener("error", function (e) {
26        if (e.filename && e.filename.includes("live_chat.v1.0.0.js")) {
27          console.warn("Live chat script error caught and handled:", e.message);
28          e.preventDefault(); // Prevent the error from bubbling up
29          return true;
30        }
31        // Also catch postMessage related errors
32        if (e.message && e.message.includes("postMessage")) {
33          console.warn("PostMessage error caught and handled:", e.message);
34          e.preventDefault();
35          return true;
36        }
37      });
38
39      // Catch unhandled promise rejections from live chat
40      window.addEventListener("unhandledrejection", function (e) {
41        if (
42          e.reason &&
43          e.reason.message &&
44          e.reason.message.includes("postMessage")
45        ) {
46          console.warn(
47            "Live chat promise rejection handled:",
48            e.reason.message,
49          );
50          e.preventDefault();
51        }
52      });
53
54      // Override postMessage to add safety checks
55      const originalPostMessage = window.postMessage;
56      window.postMessage = function (message, targetOrigin, transfer) {
57        try {
58          if (typeof targetOrigin === "string" && targetOrigin !== "*") {
59            return originalPostMessage.call(
60              this,
61              message,
62              targetOrigin,
63              transfer,
64            );
65          }
66        } catch (error) {
67          console.warn("PostMessage error prevented:", error.message);
68        }
69      };
70
71      // Load live chat script after DOM is ready
72      document.addEventListener("DOMContentLoaded", function () {
73        // Wait longer to ensure everything is fully loaded
74        setTimeout(function () {
75          try {
76            const script = document.createElement("script");
77            script.src =
78              "https://connect.ras.yeastar.com/live_chat.v1.0.0.js?channelNumber=LC00000";
79            script.onerror = function () {
80              console.warn(
81                "Failed to load live chat script - continuing without live chat",
82              );
83            };
84            // Add more safety checks
85            script.onload = function () {
86              console.log("Live chat script loaded successfully");
87            };
88            document.head.appendChild(script);
89          } catch (error) {
90            console.warn("Error loading live chat:", error);
91          }
92        }, 2000); // 2 second delay for better stability
93      });
94    </script>
94
95  </body>
96</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.