<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های محمد حسین اکبرپور</title>
        <link>https://virgool.io/feed/@akbarpour</link>
        <description>یک توسعه دهنده وب</description>
        <language>fa</language>
        <pubDate>2026-04-15 09:58:21</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/33940/avatar/l0f3EV.png?height=120&amp;width=120</url>
            <title>محمد حسین اکبرپور</title>
            <link>https://virgool.io/@akbarpour</link>
        </image>

                    <item>
                <title>هرسایتی رو تغییر بده برای خودت، حتی دیوار</title>
                <link>https://virgool.io/cheyab-blog/%D9%87%D8%B1%D8%B3%D8%A7%DB%8C%D8%AA%DB%8C-%D8%B1%D9%88-%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1-%D8%A8%D8%AF%D9%87-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AE%D9%88%D8%AF%D8%AA-%D8%AD%D8%AA%DB%8C-%D8%AF%DB%8C%D9%88%D8%A7%D8%B1-itqsroghqh0w</link>
                <description>خرید ماشین همیشه یکی از دغدغه ها بوده که به لطفا شرایط اقتصادی و تورم و..... هر چقدر پس از انداز می کنیم تا پس اندازمون برای خرید ماشین  صفر کافی میشه ، ماشین گرون تر میشه ، و باز دوباره همین چرخه تکرار میشه . پس دیگه باید بیخیال خرید ماشین صفر کیلومتر بشیم و به فکر خرید ماشین کارکرده دست دوم باشیم .حالا باید به دنبال یه ماشین دست دوم بگردیم .از حق نگذریم یکی از محبوب ترین راهای پیدا کردن ماشین کارکرده همین سایت دیوار است.دیوار یکی از پر آگهی ترین ( البته نه راحت ترین)  نیازمندی های کشور است.یکی از نکات مهمی که بارها توسط اطرافیان به ما گوشزد می شود ، خرید ماشین با شاسی ها سالم است .اما چطور ماشین های با شاسی سالم  پیدا کنیم.    درحال حاضر ،سایت دیوار باز کنیم بریم  براساس قیمت و سال ساخت  با استفاده از فیلتر جستجو کنیم .  و با توجه به اینکه  هیچ امکانی برای فیلتر وضعیت بدنه ، وضعیت شاسی ها  وجود ندارد. باید تک به تک سایت آگهی را باز کنیم و بررسی کنیم .ولی ، یا راهی پیدا خواهم کرد یا راهی خواهم ساختچون من یک مهندس ، یک توسعه دهنده هستمحتما  پلاگین فونت آرا دیدید ، پلاگینی که با نصب بروی مرورگر کروم ، فونت هر سایتی رو میتونید عوض کنید.با خودم گفتم همانگونه که فونت آرا فونت سایت ها را تغییر میده ، منم دیوار تغییر بدم ، البته نه صرفا تغییر فونتپس باید تغییر بدم که بتونم جزئیات آگهی را  در همان صفحه ببینم فقط با حرکت موسبرای اینکار لازم بود یه پلاگین برای کروم بنویسیم .تنها فقط کافیست جاوا اسکریپت ، css ، html  بلد باشیم ...مراحل کار :ابتدا یک پوشه با نام divar درست میکنیم و فایل های زیر  در داخل آن ایجاد و محتوا را داخل فایل کپی  می کنیم..manifest.json{
&amp;quotmanifest_version&amp;quot: 2,
&amp;quotname&amp;quot: &amp;quotنمایش سریع آگهی دیوار&amp;quot,
&amp;quotdescription&amp;quot: &amp;quotنمایش سریع آگهی دیوار  این پلاگین توسط دیوار توسعه داده نشده ، غیر رسمی می باشد.&amp;quot,
&amp;quotversion&amp;quot: &amp;quot0.0.0.1&amp;quot,
&amp;quotbrowser_action&amp;quot: {
&amp;quotdefault_icon&amp;quot: &amp;quoticon.png&amp;quot
},
&amp;quotcontent_scripts&amp;quot: [ {
&amp;quotall_frames&amp;quot: true,
&amp;quotjs&amp;quot: [ &amp;quotcontent.js&amp;quot ],
&amp;quotmatches&amp;quot: [ &amp;quothttp://divar.ir/*&amp;quot, &amp;quothttps://divar.ir/*&amp;quot ]
} ],
&amp;quotpermissions&amp;quot: [ &amp;quothttp://divar.ir/*&amp;quot, &amp;quothttps://divar.ir/*&amp;quot ]content.jsdocument.addEventListener(&#039;mouseover&#039;, function(e){
if(e.target &amp;&amp; e.target.classList.contains(&#039;kt-image-block__image&#039;)){
document.querySelector(&amp;quot.sticky-outer-wrapper&amp;quot).style.display=&amp;quotblock&amp;quot
var ida =(e.target.parentElement.parentElement.parentElement.parentElement.getAttribute(&#039;href&#039;).split(&amp;quot/&amp;quot).pop());
fetch(&#039;https://api.divar.ir/v5/posts/&#039;+ida)
.then(response =&gt; response.json())
.then(data =&gt; addtable(&amp;quoti&amp;quot,data.widgets));
}
});
document.addEventListener(&#039;mouseout&#039;, function(e){
console.log(e.target.className);
if(e.target &amp;&amp; e.target.classList.contains(&#039;kt-image-block__image&#039;)){
document.querySelector(&amp;quot.sticky-outer-wrapper&amp;quot).style.display=&amp;quotnone&amp;quot
}
});
function addtable(t,j)
{
var str=&amp;quot&amp;quot
j.list_data.forEach(
function (item, index,t) {
console.log(item);
if(item.value)
{
if(item.title==&amp;quotوضعیت شاسی جلو&amp;quot
|| item.title==   &amp;quotوضعیت شاسی‌ها&amp;quot)
{
if(item.value==&amp;quotسالم و پلمپ&amp;quot)
{
item.value= item.value + &amp;quot✅ &amp;quot ;
}
else
{
item.value= item.value + &amp;quot❌ &amp;quot ;
}
str=str +(&amp;quot&amp;quot + item.title +&amp;quot:&amp;quot + item.value + &amp;quot&lt;br&gt;&amp;quot);
}
else
{
str=str +(&amp;quot&amp;quot + item.title +&amp;quot:&amp;quot + item.value + &amp;quot&lt;br&gt;&amp;quot);
}
}
}
);
j.description=j.description.replace(
&amp;quotخوردگی&amp;quot,
&amp;quotخوردگی ❌ &amp;quot
)
str = str + &amp;quot  &amp;quot +  j.description;
document.querySelector(&amp;quot.sticky-outer-wrapper&amp;quot)=str;
}
var div = document.createElement(&amp;quotdiv&amp;quot);
div.classList.add (&amp;quotsticky-outer-wrapper&amp;quot);
div.style.position=&amp;quotfixed&amp;quot
div.style.width=&amp;quot300px&amp;quot
div.style.height=&amp;quotauto&amp;quot
div.style.top=&amp;quot70px&amp;quot
div.style.lineHeight=&amp;quot28px&amp;quot
div.style.right=0;
div.style.background=&amp;quot#f00&amp;quot
div.style.color=&amp;quot#fff&amp;quot
div.style.padding=&amp;quot5px 10px&amp;quot
document.body(div);icon.pngتصویر دلخواه با پسوند pngخب حالا کافیه لینک زیر در مرورگر کپی کنیم .chrome://extensions/از گوشه بالا سمت راست   Developer Mode  فعال میکنیم .  از سمت چپ  بروی یک گزینه Load Unpacked  کلیک کنید  و پوشه ای که قبلا ساختیم را انتخاب می کنیم.و پلاگین را فعال کنید.حالا سایت دیوار باز کنید و موس رو بروی تصویر آگهی ببرید . تا جزئیات آگهی را در سمت راست صفحه در کادر قرمز مشاهده کنید.خروجی نهاییامیدوارم دیوار قابلیت فیلتر وضعیت بدنه و وضعیت شاسی را  اضافه کند ، تا همه بتوانند به راحتی استفاده کنند.سوالی بود در خدمتم.</description>
                <category>محمد حسین اکبرپور</category>
                <author>محمد حسین اکبرپور</author>
                <pubDate>Sat, 07 Aug 2021 18:08:53 +0430</pubDate>
            </item>
                    <item>
                <title>ارسال فرم با استفاده  Ajax</title>
                <link>https://virgool.io/@akbarpour/%D8%A7%D8%B1%D8%B3%D8%A7%D9%84-%D9%81%D8%B1%D9%85-%D8%A8%D8%A7-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-ajax-kly3mjwtfdig</link>
                <description>بدون مقدمه ...برای اینکه اطلاعات یک فرم را بدون رفرش صفحه ارسال کنیم از ایجکس استفاده می کنیم . گام صفر : اضافه کردن کتابخانه جی کوئری برای استفاده از Ajax  ابتدا باید jquery  در فوتر اضافه کنیم &lt;script type=&quot;application/javascript&quot; src=&quot;https://code.jquery.com/jquery-3.4.1.min.js&quot;/&gt;
گام یک :  تعریف  id برای فرم مربوطه  برای اینکه با جی کوئری بتوانیم به مقادیر فرم دسترسی داشته باشیم.برای فرم مورد نظر شناسه id  تعریف می کنیم .برای مثال  :  form1 &lt;form id=&quot;form1&quot; &gt;
    &lt;label&gt;title&lt;/label&gt;

    &lt;input name=&quot;mha&quot; id=&quot;mha&quot;&gt;

    &lt;input type=&quot;submit&quot;&gt;
&lt;/form&gt;
گام دوم:  ارسال اطلاعات با ایجکسکد های زیررا  داخل تگ script  قراردهید.
    $(&#039;#form1&#039;).submit(function (event) {
    event.preventDefault();    // غیرفعال سازی ارسال فرم به  صورت عادی
    $.ajax({
        url: &quot;/Blog/Add&quot;,   
      type: &quot;POST&quot;,   
     data:  $(this).serialize() ,  // اطلاعات فرم جاری 
        success: function (data) {
            alert&#40;data&#41;;
        }

    });
    خب کار تمام شدولی اگر بخواین اینکار برای چند فرم انجام بدید حجم کد هاتون زیاد میشه . می توانید با استفاده از کد های زیر به راحتی چندین فرم را ایجکسی نمایید.  گام یک : کلاس مربوطه را به فرم اختصاص بدید. مثلا کلاس : form_ajaxi&lt;form class=&quot;form_ajaxi&quot; method=&quot;post&quot; action=&quot;/Blog/Add&quot; &gt;
گام دوم :  تگ script به کد های زیر تغییر بدید.

    $(function () {


            $(&#039;.form_ajaxi&#039;).submit(function (event) {

                event.preventDefault();

                $.ajax({
                    url: $(this).attr(&quot;action&quot;) ,
                  type:  $(this).attr(&quot;method&quot;),
                    data:  $(this).serialize() ,
                    success: function (data) {
                        alert&#40;data&#41;;
                    }

                });
        });
    });


</description>
                <category>محمد حسین اکبرپور</category>
                <author>محمد حسین اکبرپور</author>
                <pubDate>Mon, 10 Jun 2019 22:31:36 +0430</pubDate>
            </item>
            </channel>
</rss>