PDA

View Full Version : سوال: خطا در webBrowser عدم نمایش آدرس وب



MasoudAdmin
شنبه 30 اردیبهشت 1402, 19:28 عصر
با سلام خدمت همه
من داخل برنامه ام از webBrowser استفاده کرده بودم و آدرس https://www.google.com/maps رو ست کرده بودم.
تا چند روز پیش هم کار می کرد ولی چند روزی هست که کار نمیکنه و تصویر ذیل رو نمایش میده.:افسرده::متفکر:
154654

ممنون میشم اگر دوستان به این مشکل برخوردن و تونستن رفعش کنن به بنده هم کمک کنند.
با تشکر.

پرستو پارسایی
یک شنبه 31 اردیبهشت 1402, 09:13 صبح
مشکل ممکن است به دلیل تغییرات در وب‌سایت گوگل مپز باشد، اما احتمالاً دلیل اصلی مشکل شما از این بیشتر است. برای رفع احتمالی این مشکل :

1- به وب‌سایت گوگل مپز به‌ صورت مستقیم مراجعه کنید و بررسی کنید که آیا وب‌سایت گوگل مپز در دسترس است یا خیر.
2- بررسی نسخه مرورگر: بعضی از نسخه‌های قدیمی مرورگرها به درستی با وب‌سایت‌های جدید سازگار نیستند. بنابراین، اگر مرورگر خود را به‌روز نکرده‌اید، به‌روزرسانی آن را انجام دهید.
3- بررسی تنظیمات امنیتی: تنظیمات امنیتی مرورگر شما ممکن است باعث مسدود کردن برخی از وب‌سایت‌ها شده باشد. برای رفع این مشکل، تنظیمات امنیتی مرورگر خود را بررسی کنید و اطمینان حاصل کنید که سایت گوگل مپز در لیست سایت‌های مسدود شده قرار ندارد
4- استفاده از یک پروکسی: ممکن است ارتباط شما با وب‌سایت گوگل مپز از طریق سرورهای دیگری در دنیا برقرار شود. برای رفع این مشکل، می‌توانید از یک پروکسی استفاده کنید تا ارتباط شما با وب‌سایت گوگل مپز از طریق سرور دیگری برقرار شود.
5- بازنشانی تنظیمات مرورگر: در صورتی که هیچکدام از راه‌حل‌های فوق برای شما کار نکرد، می‌توانیدتنظیمات مرورگر خود را به حالت پیش‌فرض بازنشانی کنید.
امیدوارم با بررسی موارد فوق مشکل برطرف شود ولی در تصویر ارسال شده شما به مورد دوم اشاره شده

MasoudAdmin
یک شنبه 31 اردیبهشت 1402, 19:34 عصر
با سلام. ممنون از پاسختون. نه کلا هیچ سایتی که نقشه داره رو باز نمیکنه.
فکر کنم درست توضیح ندادم. تو برنامه از کامپوننت WebBrowser خود ویژوال استودیو استفاده کردم. وقتی میخواد سایته رو تو WebBrowser خود ویژوال باز کنه مشکل پیدا کرده.
اینم کد دستورش:


this.webBrowser1.Url = new Uri("https://www.google.com/maps");
this.webBrowser1.ScriptErrorsSuppressed = true;


اصلا اگر تو آدرسی که پاس میدیم سایت خود گوگل هم ست کنم سایته رو خیلی بد نمایش میده:
154656

نسخه ای که دارم استفاده میکنم
Microsoft Visual Studio Enterprise 2019 هست.

پرستو پارسایی
یک شنبه 31 اردیبهشت 1402, 23:13 عصر
در ویندوز 7 تست کردم پیامی مشابه شما دریافت کردم البته چند ثانیه مپ را نشان میداد سپس پیام مشابه به تصویر ارسالی شما می دهد . در ویندوز 11 هم همین مشکل را داشت در کل برای رفع احتمالی این مشکل : از کتابخانه هایی که بروزر موزیلا را ساپورت می کنند استفاده کنید . در صورت نیاز منابع مناسب معرفی می کنم

samiasoft
یک شنبه 31 اردیبهشت 1402, 23:17 عصر
با سلام خدمت همه
من داخل برنامه ام از webBrowser استفاده کرده بودم و آدرس https://www.google.com/maps رو ست کرده بودم.
تا چند روز پیش هم کار می کرد ولی چند روزی هست که کار نمیکنه و تصویر ذیل رو نمایش میده.:افسرده::متفکر:
ممنون میشم اگر دوستان به این مشکل برخوردن و تونستن رفعش کنن به بنده هم کمک کنند.
با تشکر.
سلام وقت بخیر
در وب بروزر مربوطه userAgent مرورگر کروم یا ... رو ست کنید.
اگر حل نشد بدون مشکل از کامپوننت های وب بروزری مثل
TeamDev DotNetBrowser
Essentials Object EO.WebBrowse
و ...
استفاده کنید.

MasoudAdmin
دوشنبه 01 خرداد 1402, 16:15 عصر
با سلام
این کامپوننت TeamDev DotNetBrowser رو از یکی از سایت های فارسی دانلود کردم و طبق راهنماش DLL هاش رو Add کردم. ولی وقتی برنامه اجرا میشه خطای عکس زیر رو میده:
154658

توی راهنما به ترتیب زیر گفته انجام بشه:
1- Set project target framework to : .Net framwork 4.5 or higher (IMPORTANT)
2- Add "teamdev.licenses" to you project as "Embedded Resource"
3- Add "DFoXDotNeBrowser.dll" to project references
4- Open "Program.cs" file (in your project) and add following line in first of "Main()" method



DFoX_DotNetBrowser.DFoXModificaMemoria();




and add the follow directive :




using DFoXDotNeBrowser;


فقط اون مرحله دوم رو نفهمیدم منظورش چیه؟ کجا باید این فایل teamdev.licenses رو تو برنامه Add کنم؟
ممنون میشم راهنمایی کنید.

god of war 313
دوشنبه 01 خرداد 1402, 20:43 عصر
سلام دوست عزیز

BrowserView چه کلاسی هست؟

از کتابخانه using DFoXDotNeBrowser; هست؟

mazoolagh
سه شنبه 02 خرداد 1402, 10:11 صبح
کنترل web browser استاندارد چون بر پایه ie7 هست در نمایش خیلی از سایتها مشکل داره.
تا مدتی پیش میشد انجین اون رو به ie11 تغییر داد ولی دیگه کلا ie بازنشسته شده و نباید از از این کنترل استفاده کرد.

قبلا هم تاپیک مشابه داشتیم و اونجا هم پیشنهاد داده بودم از کنترل جدید (چند سالی هست آمده) WebView2 استفاده کنین.
این کنترل بر پایه Edge بنا شده و مطلقا با نمایش هیچ سایتی مشکل نداره.
اگر از برنامه نویسهای بیسواد و بیماری که کاربر رو مجبور به استفاده از مرورگر خاصی میکنن بگذریم،
تمام سایتهای معتبر روی تمام مرورگرهای مدرن بدون مشکل کار میکنن.

برای نصب راحت این کنترل میتونین در nuget manager جستجو کنین:
154666
154665

samiasoft
سه شنبه 02 خرداد 1402, 17:46 عصر
فقط اون مرحله دوم رو نفهمیدم منظورش چیه؟ کجا باید این فایل teamdev.licenses رو تو برنامه Add کنم؟
ممنون میشم راهنمایی کنید.
فایل لایسنس مربوطه را داخل همین پروژتون در ویژوال استودیو اد کنید و در پراپرتی بخش Build Action را Embedded Resource انتخاب کنید.

طبق پیشنهاد mazoolagh گرامی اگر از nuget manager نتونستید در پروژتون WebView2 رو اضافه کنید میتونید بصورت دستی هم از لینک زیر دانلود و در پروژه استفاده کنید :


https://www.nuget.org/packages/Microsoft.Web.WebView2

MasoudAdmin
سه شنبه 02 خرداد 1402, 19:19 عصر
با سلام.
ممنون از راهنمایی شما.

MasoudAdmin
یک شنبه 14 خرداد 1402, 19:33 عصر
با سلام
WebView2 رو به پروژه ام اضافه کردم. ولی مشکلی که داره اینکه من به خاطر مواردی مجبور به استفاده از دات نت 4 هستم در پروژه. الان این WebView2 رو که میخوام استفاده کنم میگه نسخه دات نت 4 نمیتونه. راهکاری داره؟:ناراحت::متفکر:

پرستو پارسایی
یک شنبه 14 خرداد 1402, 22:37 عصر
با سلام
WebView2 رو به پروژه ام اضافه کردم. ولی مشکلی که داره اینکه من به خاطر مواردی مجبور به استفاده از دات نت 4 هستم در پروژه. الان این WebView2 رو که میخوام استفاده کنم میگه نسخه دات نت 4 نمیتونه. راهکاری داره؟:ناراحت::متفکر:


WebView2 Runtime یک بسته‌ی نصبی است که به شما اجازه می‌دهد که WebView2 را در برنامه‌ی خود استفاده کنید، بدون اینکه به دات نت جدیدتری نیاز داشته باشید. برای استفاده از WebView2 Runtime، شما باید WebView2 Runtime را به پروژه‌ی خود اضافه کنید. می‌توانید WebView2 Runtime را از سایت مایکروسافت دانلود کنید و به پروژه‌ی خود اضافه کنید.


پس از نصب WebView2 Runtime، شما باید WebView2 را به پروژه‌ی خود اضافه کنید. برای این کار، می‌توانید WebView2Control را به پروژه‌ی خود اضافه کنید. ، به Visual Studio خود بروید و WebView2Control را به پروژه‌ی خود اضافه کنید. سپس WebView2Control را به فرم خود اضافه کرده و از آن استفاده کنید.


بعد از اضافه کردن WebView2Control به پروژه‌ی خود، شما باید WebView2 NuGet Package را از پروژه‌ی خود حذف کنید و از WebView2Runtime به جای آن استفاده کنید. به این ترتیب، شما می‌توانید WebView2 را در پروژه‌ی خود استفاده کنید، بدون اینکه به دات نت جدیدتری نیاز داشته باشید.

MasoudAdmin
دوشنبه 15 خرداد 1402, 00:27 صبح
سلام.
ممنون از راهنماییتون. ببخشید شاید من ناشی هستم.
WebView2 Runtime را از سایت گرفتم و فایل Setup رو اجرا کردم. ولی اون مورد WebView2Control یا WebView2 رو پیدا نکردم که به پروژه اضافه کنم!!
154715
Browse رو هم که میزنم نمی دونم باید از کجا پیدا کنم و اضافش کنم.
اگه ممکنه بیشتر راهنمایی بفرمایید.
ممنون.

mazoolagh
دوشنبه 15 خرداد 1402, 12:52 عصر
همیشه اول داکیومنت ها رو بخونین!
154716

1- webview2 یک کنترل مدرن هست و روی فریمورک کمتر از 4.5 کار نمیکنه.
اگر به هر دلیلی مجبور به استفاده از فریمورک 4 هستین این کنترل بدرد شما نمیخوره.

2- runtimeها برای اجرای برنامه روی سیستم کلاینت هست (در صورت نیاز)،
نه برای سیستم برنامه نویس. شما باید همون روش پست 8 رو پیاده کنین.

3- در حال حاضر که دیگه edge روی ویندوز پایینتر از 10 (7 و 8.1) پشتیبانی نمیشه،
این احتمال هست که حتی اگر ران تایم مناسب هم روی این سیستم ها نصب کنین برنامه تون درست کار نکنه یا در آینده این اتفاق بیفته.

MasoudAdmin
دوشنبه 15 خرداد 1402, 13:35 عصر
سلام
:ناراحت:
یعنی منظورتون این هست که از nuget manager (پست هشت) استفاده کنم؟

mazoolagh
دوشنبه 15 خرداد 1402, 19:50 عصر
سلام:ناراحت:یعنی منظورتون این هست که از nuget manager (پست هشت) استفاده کنم؟سلام دوبارهبنظرم راهش همینه - و فریمورک پروژه رو هم جدیدترین بگذارین (4.8).اگر کلاینتی دارین که ویندوز 8.1 یا 7 داره باید همراه برنامه نصبی runtime مربوط به webview رو هم بگذارین (یا لینک نصبش رو)،ولی برای ویندوز 10 و 11 لازم نیست (من روی چند سیستم ویندوز 10 که تست کردم نیاز نبوده ولی شما خودتون تحقیق کنین مطمئن شین).یک جستجو برای کنترل برپایه مرورگر فایرفاکس هم بکنین، شاید باشه و با فریمورک 4 هم کار کنه.