موضوع: تحويل الروابط الى عناوين في المساهمات لأحلى المنتديات الثلاثاء أغسطس 16, 2016 12:57 pm | |
| موضوع: تحويل الروابط الى عناوين في المساهمات لأحلى المنتديات السلام عليكم ورحمة الله وبركاته
تحويل الروابط الى عناوين في المساهمات لأحلى المنتديات كما هو واظح من العنوان لكي يحول الروابط الى عناوين الخاصة بها
صورة لعمل الكود
الكود وشرح تركيبه
اذهب الى
لوحة الادارة - عناصر اضافية - ادارة صفحات JavaScript وقم بأنشاء كود العنوان - كما تشاء مكان وضع الكود - يمكنك وضعه في جميع الصفحات الكود - الكود:
-
$(function() { 'DEVELOPED BY ANGE TUTEUR'; 'NO DISTRIBUTION WITHOUT CONSENT OF THE AUTHOR'; 'ORIGIN : http://fmdesign.forumotion.com/'; var a = $('.postbody a'), version = $('.bodylinewidth')[0] ? 0 : document.getElementById('wrap') ? 1 : $('div.pun')[0] ? 2 : document.getElementById('ipbwrapper') ? 3 : document.getElementById('fa_edge') ? 4 : 'badapple'; // error notifications if (version == 'badapple' || !window.JSON || !window.localStorage) { var errString = 'The plugin "fa_post_card" could not be executed because : '; if (version == 'badapple') errString += '\nYour forum version is not supported.'; if (!window.JSON) errString += '\nJSON is not supported by your browser'; if (!window.localStorage) errString += '\nThe Storage API is not supported by your browser.'; window.console && console.error ? console.error(errString) : alert(errString); return; } window.fa_post_card = { summary_length : 160, // maximum character length for messages in post cards cache_time : 1*60*60*1000, // amount of time that cards are cached ( 1 hour ) // language config lang : { error : { name : 'Error', title : 'POST NOT FOUND', summary : 'The post you tried to view could not be found or is not accesible to you.' }, no_name : 'Anonymous', no_avatar : 'http://2img.net/i/fa/invision/pp-blank-thumb-38px.png', no_title : 'No Title Available', no_summary : 'No Summary Available', no_origin : 'No Origin Available', tooltip : 'Click to view the full post' }, a : a, // anchor cache index : -1, // anchor index quota : a.length, // anchor cache total version : version, // forum version // selectors select : { content : ['.postbody > div', '.content > div', '.entry-content > div:first > div', '.post-entry > div:first', '.content > div'], title : ['.postdetails:has(.sprite-icon_miniposted)', '.topic-title', '.posthead a', '.postbody-head a', '.topic-title'], avatar : ['.poster-profile a img', '.postprofile dt img', '.user-basic-info img:first', '.postprofile dt img', '.postprofile .user-avatar img'], username : ['.name', '.postprofile dt > strong', '.username', '.postprofile dt > strong', '.postprofile .username'] }, // escape HTML tags sanitize : function(str) { if (str) { return str.replace(/<|>/gm, function(M) { switch (M) { case '<' : return '<'; case '>' : return '>'; } }); } else { return ''; } }, // create the post card createCard : function(anchor, post, ver) { // variables for the card contents var o = { username : post ? $(fa_post_card.select.username[ver], post).text() : fa_post_card.lang.error.name, avatar : post ? $(fa_post_card.select.avatar[ver], post).attr('src') : fa_post_card.lang.no_avatar, title : post ? $(fa_post_card.select.title[ver], post).text() : fa_post_card.lang.error.title, summary : post ? $(fa_post_card.select.content[ver], post).text() : fa_post_card.lang.error.summary, origin : anchor.innerHTML }, id = o.origin.replace(/.*?#(\d+)$/, '$1'), cards = localStorage.fa_post_cards ? JSON.parse(localStorage.fa_post_cards) : {}, i; // escape HTML tags to reduce risk of XSS attacks for (i in o) { o[i] = fa_post_card.sanitize(o[i]); } anchor.className += ' fa_post_card'; anchor.title = fa_post_card.lang.tooltip; // card structure anchor.innerHTML = '<div class="fa_card_inner">'+ '<div class="fa_card_left">'+ '<img class="fa_card_avatar" src="' + ( o.avatar ? o.avatar : fa_post_card.lang.no_avatar ) + '"/>'+ '<div class="fa_card_username">' + ( o.username ? o.username : fa_post_card.lang.no_name ) + '</div>'+ '</div>'+ '<div class="fa_card_right">'+ '<div class="fa_card_title"><h2>' + ( o.title ? o.title : fa_post_card.lang.no_title ) + '</h2></div>'+ '<div class="fa_card_summary"><p>' + ( o.summary ? ( o.summary.length > fa_post_card.summary_length ? o.summary.slice(0, fa_post_card.summary_length) + '...' : o.summary ) : fa_post_card.lang.no_summary ) + '</p></div>'+ '<div class="fa_card_origin">' + ( o.origin ? o.origin.replace(/http:\/\//, '') : fa_post_card.lang.no_origin ) + '</div>'+ '</div>'+ '<div class="fa_card_clear"></div>'+ '</div>'; // store the card data to the cards object if (!cards[anchor.host]) { cards[anchor.host] = {}; } cards[anchor.host]['card' + id] = { data : anchor.innerHTML, expires : +new Date }; localStorage.fa_post_cards = JSON.stringify(cards); }, // get and turn the link into a card get : function() { var a = fa_post_card.a[++fa_post_card.index], cards = localStorage.fa_post_cards ? JSON.parse(localStorage.fa_post_cards) : {}, reg = /#\d+$/, // match the post hash id, post; // make sure the anchor contains a hash in the href and html content if (a && reg.test(a.innerHTML) && reg.test(a.href)) { id = a.href.replace(/.*?#(\d+)$/, '$1'); // post id post = $('.post--' + id)[0]; // post selector // get the card data if it's cached if (cards[a.host] && cards[a.host]['card' + id] && cards[a.host]['card' + id].data && cards[a.host]['card' + id].expires > +new Date - fa_post_card.cache_time) { a.className += ' fa_post_card'; a.title = fa_post_card.lang.tooltip; a.innerHTML = cards[a.host]['card' + id].data; } else { // if the post is present on the page we'll get it by the id if (post) { fa_post_card.createCard(a, post, fa_post_card.version); } else { // otherwise we need to get the post data via AJAX $.get(a.href.replace(reg, '') + '?change_version=prosilver', function(d) { var post = $('.post--' + id, d)[0]; fa_post_card.createCard(a, post, new RegExp(window.location.host).test(a.href) ? fa_post_card.version : 1); // change the version to prosilver so it's possible to get external post cards }).error(function() { fa_post_card.createCard(a); }); } } } // continue iterating through the anchor array until we've reached the quota if (fa_post_card.index < fa_post_card.quota) { fa_post_card.get(); } } }; fa_post_card.get(); // start iterating the anchors }); document.write('<style type="text/css">a.fa_post_card{font-size:12px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;text-decoration:none!important;color:#333!important;background:#FFF;border:1px solid #CCC;border-radius:10px;display:block;width:600px;max-width:100%;min-height:100px;overflow:hidden;position:relative;margin:3px 0}.fa_card_inner{margin-left:125px}.fa_card_left{text-align:center;background:#EEE;border-right:1px solid #CCC;position:absolute;top:0;left:0;bottom:0;width:125px}.fa_card_avatar{height:50px;width:50px;position:absolute;top:50%;left:50%;margin:-35px 0 0 -25px}.fa_card_username{font-size:12px;font-weight:700;position:absolute;top:50%;left:0;right:0;margin-top:20px}.fa_card_title h2{color:#333;font-size:14px;font-weight:700;border:none;margin:0}.fa_card_summary p{font-size:12px;margin:0}.fa_card_origin{color:#999}.fa_card_origin,.fa_card_summary p,.fa_card_title h2{padding:3px 10px}.fa_card_origin,.fa_card_title h2,.fa_card_username{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.fa_card_clear{clear:both}</style>'); قد يعمل الكود فقط على روابط منتداك يعني الروابط الداخلية وبعض الاحيان قد يعمل على الروابط الخارجية كاتب الموضوع - Ange Tuteur ترجمة الشرح - احلى موضوع
|
|
موضوع: رد: تحويل الروابط الى عناوين في المساهمات لأحلى المنتديات الثلاثاء أغسطس 16, 2016 2:59 pm | |
| موضوع: رد: تحويل الروابط الى عناوين في المساهمات لأحلى المنتديات
|
|
موضوع: رد: تحويل الروابط الى عناوين في المساهمات لأحلى المنتديات الثلاثاء أغسطس 30, 2016 11:20 am | |
| موضوع: رد: تحويل الروابط الى عناوين في المساهمات لأحلى المنتديات ماشاءالله شكله حلو جدا
بس ممكن توضيح اكثر @@
|
|