أردت انشاء كود يقوم باستبدال الساب دومين للروابط في الصفحة بشكل عشوائي
وكتبت هذه الاكواد
https://jsfiddle.net/uy5140srلكنها لم تعمل عندي
من فضلكم أين المشكلة
أردت انشاء كود يقوم باستبدال الساب دومين للروابط في الصفحة بشكل عشوائي
وكتبت هذه الاكواد
https://jsfiddle.net/uy5140srلكنها لم تعمل عندي
من فضلكم أين المشكلة
$(document).ready(function() {
var sub = new Array("subdomain2", "subdomain3", "subdomain4", "subdomain");
var rndIndex = Math.floor(Math.random() * sub.length);
var rndSub = sub[rndIndex];
$(".post-body a" ).each(function() {
var $a = $(this);
var href = $a.attr("href"), newHref;
try {
var url = new URL(href);
var splits = url.host.split(".");
if (splits.length <= 1) throw "";
if (splits.length === 2) splits.unshift(rndSub);
else splits[0] = rndSub;
url.host = splits.join(".");
newHref = url.href;
} catch (err) {
newHref = href;
}
$a.attr("href", newHref);
});
});
وإذا أردت وضع subdomain مختلف لكل رابط في الصفحة يجب نقل rndIndex و rndSub إلى داخل حلقة التكرار
$(document).ready(function() {
var sub = new Array("subdomain2", "subdomain3", "subdomain4", "subdomain");
$(".post-body a" ).each(function() {
var rndIndex = Math.floor(Math.random() * sub.length);
var rndSub = sub[rndIndex];
var $a = $(this);
var href = $a.attr("href"), newHref;
try {
var url = new URL(href);
var splits = url.host.split(".");
if (splits.length <= 1) throw "";
if (splits.length === 2) splits.unshift(rndSub);
else splits[0] = rndSub;
url.host = splits.join(".");
newHref = url.href;
} catch (err) {
newHref = href;
}
$a.attr("href", newHref);
});
});
شكرا لك اخ @zakariamouhid
ربما لم تفهم قصدي ، أنا لدي روابط بهذا الشكل
<div class="post-body">
<a href="
http://subdomain.blogspot.c... ">الرابط الرابط الرابط الرابط الرابط الرابط
أريد تبديل الروابط التي تبدأ ب "subdomain" فقط ، أي تبديل هذا الساب دومين ب احدى القيم الموجودة في sub بشكل عشوائي ليكون مثلا
$(document).ready(function() {
var sub = new Array("subdomain2", "subdomain3", "subdomain4", "subdomain");
$(".post-body a" ).each(function() {
var rndIndex = Math.floor(Math.random() * sub.length);
var rndSub = sub[rndIndex];
var $a = $(this);
var href = $a.attr("href"), newHref;
try {
var url = new URL(href);
var splits = url.host.split(".");
if (splits.length <= 2) throw "";
else if (splits[0] === "subdomain") splits[0] = rndSub;
url.host = splits.join(".");
newHref = url.href;
} catch (err) {
newHref = href;
}
$a.attr("href", newHref);
});
});
لا اعرف بالضبط مالذى تريد القيام به لإيجاد افضل طريقة ،هل تريد البحث عن كلمة معينة ام نمط معين ومالذى قصدته من الكلمة "drshorts"، على كل قمت بتصحيح الكود ليشتغل :
بهذذه الطريقه تستطيع تغيير الكلمه عشوائيا مع كل رابط هو نفس الكود الخاص بك لكن مع بعض التغيرات
$(document).ready(function() {
var sub = new Array("subdomain2", "subdomain3", "subdomain4", "subdomain");
/* $('.post-body').html(randno) */;
$(".post-body a" ).each(function() {
var randno = sub[Math.floor(Math.random()*(sub.length))];
var b = $(this).attr('href').replace('subdomain', randno)
$(this).attr('href', b);
});});
وهذا يغير الكلمه عشوائيا مع كل الروابط في كل مره يتم عمل reload للصفحه
$(document).ready(function() {
var sub = new Array("subdomain2", "subdomain3", "subdomain4", "subdomain");
/* $('.post-body').html(randno) */;
var randno = sub[Math.floor(Math.random()*(sub.length))];
$(".post-body a" ).each(function() {
var b = $(this).attr('href').replace('subdomain', randno)
$(this).attr('href', b);
});});
التعليقات