1<!doctype html> 2<html lang="en"> 3<head> 4<title>Sutra Web Directory - Discover Top Rated Online Services and Websites - Computers & Mobile > News & Reviews </title> 5<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 6<meta name="viewport" content="width=device-width, initial-scale=1" /> 7<link rel="stylesheet" type="text/css" href="/templates/SutraModernR27/assets/styles.css?v=1" /> 8<link rel="stylesheet" type="text/css" href="/templates/SutraModernR27/style/fileuploader.css" /> 9<meta name="keywords" content="business web directory, online business listings, company directory, local business directory" /> 10<meta name="description" content="Top Rated Local Business and Services Reviewed and Listed at Sutra Business Web Directory." /> 11<meta name="robots" content="all" /> 12<meta name="generator" content="PHP Link Directory 4.2.2" />
13<script type="text/javascript"> 14 15 var valid_obj = new Object(); 16 17 </script>
vendor: 2 bytes, line 17
17
18<script type="text/javascript"> 19 20 21 22function ajaxFunction() 23 24{ 25 26 27 28var xmlHttp; 29 30 31 32try 33 34 { 35 36 // Firefox, Opera 8.0+, Safari 37 38 xmlHttp=new XMLHttpRequest(); 39 40 } 41 42catch (e) 43 44 { 45 46 // Internet Explorer 47 48 try 49 50 { 51 52 xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); 53 54 } 55 56 catch (e) 57 58 { 59 60 try 61 62 { 63 64 xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); 65 66 } 67 68 catch (e) 69 70 { 71 72 alert("Your browser does not support AJAX!"); 73 74 return false; 75 76 } 77 78 } 79 80 } 81 82 xmlHttp.onreadystatechange=function() 83 84 { 85 86 if(xmlHttp.readyState==4) 87 88 { 89 90 } 91 92 } 93 94 var url = "https://www.sutradirectory.com/update_session.php"; 95 96 97 98 xmlHttp.open("POST", url, false); 99 100 xmlHttp.setRequestHeader( 101 102 'Content-Type', 103 104 'application/x-www-form-urlencoded; charset=UTF-8' 105 106); 107 108 xmlHttp.send('url='+window.location); 109 110 } 111 112</script>
112 113<meta name="p:domain_verify" content="6ca87a4da421f3dc32ebb5721ed3f61f"/>
114<script data-ad-client="ca-pub-7230102064848862" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
114 115<link rel="stylesheet" href="/templates/SutraModernR27/assets/cms.css?v=icons-blue-1" />
116<script defer src="/templates/SutraModernR27/assets/lucide.min.js"></script>
vendor: 2 bytes, line 116
116
117<script defer src="/templates/SutraModernR27/assets/frontend.js"></script>
117 118</head> 119<body class="sd-site sd-index">
120<script type="text/javascript"> 121 jQuery(document).ready(function(){ 122 123 jQuery.validator.messages.required = "This field is required."; 124 jQuery.validator.messages.remote = "Please fix this field."; 125 jQuery.validator.messages.email = "Invalid email address format."; 126 jQuery.validator.messages.url = "Invalid URL."; 127 jQuery.validator.messages.date = "Invalid date format."; 128 jQuery.validator.messages.dateISO = "Please enter a valid date (ISO)."; 129 jQuery.validator.messages.dateDE = "Bitte geben Sie ein gültiges Datum ein."; 130 jQuery.validator.messages.number = "Required numeric field."; 131 jQuery.validator.messages.numberDE = "Bitte geben Sie eine Nummer ein."; 132 jQuery.validator.messages.digits = "Required integer field."; 133 jQuery.validator.messages.creditcard = "Please enter a valid credit card number."; 134 jQuery.validator.messages.equalTo = "Please enter the same value again."; 135 jQuery.validator.messages.accept = "Please enter a value with a valid extension."; 136 jQuery.validator.messages.maxlength = jQuery.format("Please enter no more than {0} characters."); 137 jQuery.validator.messages.minlength = jQuery.format("Please enter at least {0} characters."); 138 jQuery.validator.messages.rangelength = jQuery.format("This field must have minimum {0} characters and maximum {1} characters.."); 139 jQuery.validator.messages.range = jQuery.format("Please enter a value between {0} and {1}."); 140 jQuery.validator.messages.max = jQuery.format("Please enter a value less than or equal to {0}."); 141 jQuery.validator.messages.min = jQuery.format("Please enter a value greater than or equal to {0}."); 142 143 144 function fireEvent(obj, evt) { 145 var fireOnThis = obj; 146 if (document.createEvent) { 147 var evObj = document.createEvent('MouseEvents'); 148 evObj.initEvent(evt, true, false); 149 fireOnThis.dispatchEvent(evObj); 150 } else if (document.createEventObject) { 151 fireOnThis.fireEvent('on'+evt); 152 } 153 } 154 155 //valid obj isntantiated in header.tpl 156 valid_obj.login_form = { 157 debug: false, 158 onKeyUp: true, 159 onfocusout: false, 160 errorElement: "span", 161 errorClass: "errForm", 162 submitHandler: function(form) { 163 // do other stuff for a valid form 164 if (jQuery("#login_form").valid()) { 165 form.submit(); 166 } 167 }, 168 169 "rules": {user: {"required":true},pass: {"required":true}}, "messages": {} 170 }; 171 172 jQuery("#login_form").validate(valid_obj.login_form); 173 174 var selects = jQuery("#login_form").find("select"); 175 var crt; 176 jQuery.each(selects, function() { 177 crt = this.id; 178 if(typeof(valid_obj.login_form.rules[crt]) !== 'undefined') { 179 jQuery("#"+crt).change(function() { 180 jQuery(this).valid(); 181 }); 182 } 183 }); 184 }); 185</script>
vendor: 2 bytes, line 185
185
186<script type="text/javascript"> 187 jQuery(document).ready(function(){ 188 189 jQuery.validator.messages.required = "This field is required."; 190 jQuery.validator.messages.remote = "Please fix this field."; 191 jQuery.validator.messages.email = "Invalid email address format."; 192 jQuery.validator.messages.url = "Invalid URL."; 193 jQuery.validator.messages.date = "Invalid date format."; 194 jQuery.validator.messages.dateISO = "Please enter a valid date (ISO)."; 195 jQuery.validator.messages.dateDE = "Bitte geben Sie ein gültiges Datum ein."; 196 jQuery.validator.messages.number = "Required numeric field."; 197 jQuery.validator.messages.numberDE = "Bitte geben Sie eine Nummer ein."; 198 jQuery.validator.messages.digits = "Required integer field."; 199 jQuery.validator.messages.creditcard = "Please enter a valid credit card number."; 200 jQuery.validator.messages.equalTo = "Please enter the same value again."; 201 jQuery.validator.messages.accept = "Please enter a value with a valid extension."; 202 jQuery.validator.messages.maxlength = jQuery.format("Please enter no more than {0} characters."); 203 jQuery.validator.messages.minlength = jQuery.format("Please enter at least {0} characters."); 204 jQuery.validator.messages.rangelength = jQuery.format("This field must have minimum {0} characters and maximum {1} characters.."); 205 jQuery.validator.messages.range = jQuery.format("Please enter a value between {0} and {1}."); 206 jQuery.validator.messages.max = jQuery.format("Please enter a value less than or equal to {0}."); 207 jQuery.validator.messages.min = jQuery.format("Please enter a value greater than or equal to {0}."); 208 209 210 function fireEvent(obj, evt) { 211 var fireOnThis = obj; 212 if (document.createEvent) { 213 var evObj = document.createEvent('MouseEvents'); 214 evObj.initEvent(evt, true, false); 215 fireOnThis.dispatchEvent(evObj); 216 } else if (document.createEventObject) { 217 fireOnThis.fireEvent('on'+evt); 218 } 219 } 220 221 //valid obj isntantiated in header.tpl 222 valid_obj.search_form = { 223 debug: false, 224 onKeyUp: true, 225 onfocusout: false, 226 errorElement: "span", 227 errorClass: "errForm", 228 submitHandler: function(form) { 229 // do other stuff for a valid form 230 if (jQuery("#search_form").valid()) { 231 form.submit(); 232 } 233 }, 234 235 "rules": {search: {"required":true}}, "messages": {} 236 }; 237 238 jQuery("#search_form").validate(valid_obj.search_form); 239 240 var selects = jQuery("#search_form").find("select"); 241 var crt; 242 jQuery.each(selects, function() { 243 crt = this.id; 244 if(typeof(valid_obj.search_form.rules[crt]) !== 'undefined') { 245 jQuery("#"+crt).change(function() { 246 jQuery(this).valid(); 247 }); 248 } 249 }); 250 }); 251</script>
251 252<a class="skip-link" href="#main">Skip to content</a> 253<header class="site-header"><div class="wrap header-inner has-header-search"> 254<a class="brand" href="/"><span class="brand-mark" aria-hidden="true">s</span><span class="brand-word">sutra<small>directory</small></span></a> 255<button type="button" class="button sd-search-toggle" data-search-toggle aria-controls="sd-header-search" aria-expanded="false" hidden><i data-lucide="search" aria-hidden="true"></i><span>Search</span></button> 256<form id="sd-header-search" class="search-form sd-header-search" method="get" action="/index.php" role="search"> 257<label class="sr-only" for="sd-header-query">Search the directory</label> 258<input id="sd-header-query" type="search" name="search" value="" placeholder="Search the directory" maxlength="250"> 259<button class="button button-blue" type="submit">Search</button> 260</form>�<nav class="main-nav" id="main-navigation" aria-label="Main navigation"> 261<a href="/index.php?list=top">Popular websites</a> 262<a href="/index.php?list=latestarticles">Articles</a> 263</nav> 264<a class="button button-amber header-submit" href="/submit.php?c=359">Submit a website <i data-lucide="arrow-up-right" aria-hidden="true"></i></a> 265<button type="button" class="button menu-toggle" data-menu aria-controls="main-navigation" aria-expanded="false" aria-label="Toggle navigation"><i data-lucide="menu" aria-hidden="true"></i><span>Menu</span></button> 266</div></header> 267<noscript><style>.main-nav{display:flex!important}</style></noscript>� 268<main id="main" class="wrap page sd-category-page"> 269<section class="region-links" aria-label="Browse by location"><strong>Looking closer to home?</strong> 270<a href="/regional/united_states_of_america/">United States ↗</a><a href="/regional/united_kingdom/">United Kingdom ↗</a><a href="/regional/canada/">Canada ↗</a><a href="/regional/australia/">Australia ↗</a></section>� <div class="breadcrumb" aria-label="Breadcrumb"> 271<a href="/" style="font-weight: bold;">Sutra Web Directory - Discover Top Rated Online Services and Websites</a> 272<span aria-hidden="true">/</span> <a href="/computers/" >Computers & Mobile</a> 273<span aria-hidden="true">/</span> News & Reviews 274</div> 275<div class="page-heading"> 276<h1>News & Reviews</h1></div> 277<div id="container" class="sd-main-layout sd-category-layout has-category-sidebar"><div id="content" class="sd-content"> 278<div align="center">No Resources Are Listed In This Category <a href="/submit.php?id=359">Add Your Website Today</a>.<br /> <br /></div><h2>Articles</h2><div class="articles-grid"><article class="article-card"><h3><a href="/articles/poka©mon-card-sales-at-major-us-retailer-halted-over-security-fears-198838.html">Pokémon card sales at major US retailer halted over security fears</a></h3><p>US retail giant Target is suspending in-store sales of Pokémon and sports trading cards amid safety concerns as customers vie for the collectibles.</p><a class="read-link" href="/articles/poka©mon-card-sales-at-major-us-retailer-halted-over-security-fears-198838.html">Read article <i data-lucide="arrow-up-right" aria-hidden="true"></i></a><div class="frontend_actions"></div></article>�</div>
278<script type="text/javascript">/* <![CDATA[ */var root = ''; 279 var a = document.getElementsByTagName("a"); 280 for(i = 0; i< a.length; i++) 281 if(/^id_[0-9]+$/.test(a[i].id)) 282 a[i].onclick = count_link; 283 function count_link() { 284 i = new Image(); 285 i.src= root+'/cl.php?id='+this.id; 286 return true; 287 } 288 /* ]]> */</script>
288 289</div> 290<aside class="sd-category-sidebar" aria-label="Category widgets"> 291<div class="sd-side-widget sd-side-widget-box"> 292<h2>Popular Links</h2><ul class="boxPopCats"> 293<li> 294<a href=" /detail/craft-tools-by-pfingst-2569.html" title="Read more about: Craft Tools by Pfingst">Craft Tools by Pfingst</a> 295</li> 296<li> 297<a href=" /detail/deals-community-1172.html" title="Read more about: Deals Community">Deals Community</a> 298</li> 299<li> 300<a href=" /detail/cosmetic-dentist-stuart-fl-3518.html" title="Read more about: Cosmetic Dentist Stuart FL">Cosmetic Dentist Stuart FL</a> 301</li> 302<li> 303<a href=" /detail/azurite-medical-and-wellness-3349.html" title="Read more about: Azurite Medical & Wellness">Azurite Medical & Wellness</a> 304</li> 305<li> 306<a href=" /detail/non-conforming-loans-4066.html" title="Read more about: Non Conforming Loans">Non Conforming Loans</a> 307</li> 308<li> 309<a href=" /detail/marylebonesmileclinic-4295.html" title="Read more about: MaryleboneSmileClinic">MaryleboneSmileClinic</a> 310</li> 311<li> 312<a href=" /detail/pick-and-mix-sweets-online-3830.html" title="Read more about: Pick And Mix Sweets Online">Pick And Mix Sweets Online</a> 313</li> 314<li> 315<a href=" /detail/weisfuse-and-weisfuse,-llp-4041.html" title="Read more about: Weisfuse & Weisfuse, LLP">Weisfuse & Weisfuse, LLP</a> 316</li> 317<li> 318<a href=" /detail/compensation-lawyers-brisbane-queensland-3953.html" title="Read more about: Compensation Lawyers Brisbane Queensland">Compensation Lawyers Brisba...</a> 319</li> 320</ul>� 321</div> 322<div class="sd-side-widget sd-side-widget-box"> 323<h2>Our Partners</h2><ul class="boxPopCats"> 324</ul> 325</div> 326</aside>�</div></main> 327<footer class="site-footer wrap"><div class="footer-top"><div><a class="brand" href="/"><span class="brand-mark" aria-hidden="true">s</span><span class="brand-word">sutra<small>directory</small></span></a><p>A human-edited starting point for discovering businesses, services and useful websites.</p></div> 328<nav class="footer-links" aria-label="Footer"><a href="/submit.php">Submit a Website</a><a href="/contact.php">Contact</a><a href="/sitemap.xml">Sitemap</a></nav></div><div class="footer-bottom"><span>© 2007â2026 Sutra Directory</span></div></footer> 329<!-- Google tag (gtag.js) -->
vendor: 65 bytes, lines 329-330
329 330<script async src="https://www.googletagmanager.com/gtag/js?id=
330G-EW68ESCYW4
vendor: 13 bytes, line 330
330"></script>
331<script> 332
vendor: 138 bytes, lines 332-336
332window.dataLayer = window.dataLayer || []; 333 function gtag(){dataLayer.push(arguments);} 334 gtag('js', new Date()); 335 336 gtag('config', '
336G-EW68ESCYW4
vendor: 5 bytes, line 336
336');
337</script>
vendor: 2 bytes, line 337
337
338<script defer src="/javascripts/sutra-visitor.js?v=2" data-sdv-tracker></script>
338<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"efc974198e874c7ab80cc012415760fc","r":1,"spa":2}' crossorigin="anonymous"></script>
338 339</body></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.