Chrome এর মতো আরও ভাল ব্রাউজারের সাথে .NET ওয়েব ব্রাউজার নিয়ন্ত্রণটি প্রতিস্থাপন করা হচ্ছে?


432

.NET অ্যাপ্লিকেশনটিতে আধুনিক ব্রাউজারটি সন্নিবেশ করার কোনও তুলনামূলক সহজ উপায় আছে কি?

যতদুর আমি বুঝতে WebBrowserনিয়ন্ত্রণের জন্য একটি লেফাফা হয় আই ই , যা একটি সমস্যা হবে না ছাড়া এটি দেখে মনে হচ্ছে এটি একটি খুব পুরানো সংস্করণ আইই , সমস্ত যে সঙ্গে CSS এর স্ক্রু আপগুলি, সম্ভাব্য নিরাপত্তা ঝুঁকি পরিপ্রেক্ষিতে অনিবার্য ফল (যদি রেন্ডারিং ইঞ্জিনটি প্যাচ করা না থাকে, তবে আমি কী জিলিয়ন বাফার ওভারফ্লো সমস্যাগুলি ঠিক করার আশা করতে পারি?) এবং অন্যান্য সমস্যাগুলি।

আমি ভিজ্যুয়াল স্টুডিও সি # ব্যবহার করছি (এক্সপ্রেস সংস্করণ - এটি কি এখানে কোনও পার্থক্য করে?)

আমি আমার অ্যাপ্লিকেশনগুলিতে একটি ভাল ওয়েব ব্রাউজার সংহত করতে চাই। কিছুতে, আমি এটি ব্যবহারকারীর রেজিস্ট্রেশন প্রক্রিয়া, আমার ওয়েবসাইটের কয়েকটি বৈশিষ্ট্য এবং সেই আদেশের অন্যান্য জিনিসগুলির সাথে ইন্টারফেস পরিচালনা করতে ব্যবহার করি তবে আমার মনে আরও একটি অ্যাপ্লিকেশন রয়েছে যা আরও বেশি ত্রুটিযুক্ত ... নিয়ন্ত্রণের প্রয়োজন হবে।

আমার দরকার:

  • এমন একটি ব্রাউজার যা আমার অ্যাপ্লিকেশনটির উইন্ডোর অভ্যন্তরে সংহত করতে পারে (আলাদা উইন্ডো নয়)
  • যে কোনও আধুনিক ব্রাউজারের সমতুল্য CSS, js এবং অন্যান্য ওয়েব প্রযুক্তির জন্য একটি ভাল সমর্থন
  • "নেভিগেট", "পিছনে", "পুনরায় লোড" ... এর মতো বেসিক ব্রাউজার ফাংশনগুলি
  • পৃষ্ঠা কোড এবং আউটপুটটিতে উদার অ্যাক্সেস।

আমি ক্রোম সম্পর্কে ভাবছিলাম, যেহেতু এটি BSD লাইসেন্সের আওতায় আসে তবে আমি IE এর সাম্প্রতিক সংস্করণে ঠিক তেমন খুশি হব।

যতটা সম্ভব, আমি জিনিসগুলি সহজ রাখতে চাই। সেরাটি যদি কেউ বিদ্যমান প্যাচ করতে পারেWebBrowser নিয়ন্ত্রণকে আমার প্রয়োজনের প্রায় 70% ইতিমধ্যে ঘটে তবে আমি মনে করি এটি সম্ভব নয়।

আমি মজিলার জন্য একটি অ্যাক্টিভ এক্স নিয়ন্ত্রণ পেয়েছি ( http://www.iol.ie/~locka/mozilla/control.htm ) তবে এটি দেখতে এটি একটি পুরানো সংস্করণ, সুতরাং এটির উন্নতি করার দরকার নেই।

আমি সাজেশনের ব্যপারে উদার


19
আপনি কেন বলেন যে ওয়েব ব্রাউজার নিয়ন্ত্রণ আইআই এর একটি পুরানো সংস্করণ ব্যবহার করে? এটি ব্যবহারকারীর সিস্টেমে ইনস্টল করা সংস্করণটি ব্যবহার করে, যদিও আইই 8 ওয়েব ব্রাউজারটি আই 7
টিম রবিনসন

17
কারণ এটি আমার মেশিনে সেভাবে দেখায় না। আমি আইই 8 ইনস্টল করেছি তবে কন্ট্রোলটি প্রদর্শনের সমস্যাগুলি প্রদর্শন করে যা আমি আই 5 এর পরে দেখিনি A একটি খুব সাধারণ লগইন ফর্ম, সিএসএসের স্পর্শ সহ 2 টি ক্ষেত্রের একটি গার্বলড ডিসপ্লে রয়েছে এবং কিছু জাভাস্ক্রিপ্ট ডিসপ্লে কাজ করে না, যেখানে এটি প্রদর্শিত হয় আইই 8, ফায়ারফক্স, ক্রোম, অপেরাতে ঠিক আছে ... তাই আমি ধরে নিয়েছি রেন্ডারিং ইঞ্জিনটি একটি পুরানো। আমি এটি সম্পর্কে সম্পূর্ণ ভুল হতে পারি এবং সম্ভবত সমস্যাটি আমি যা ভেবেছিলাম তার থেকে আলাদা।
সিলভারড্রাগ

3
@ সিলভারড্র্যাগ: আপনি ভুল বলেছেন। এটি আপনার সিস্টেমে সর্বশেষতম আইই ব্যবহার করে। যাইহোক, আমি কোথাও পড়েছি যে ওয়েব ব্রাউজার নিয়ন্ত্রণের স্ট্যান্ডেলোন ব্রাউজারের তুলনায় শক্তিশালী পিছনে-সামঞ্জস্যতা সমস্যা আছে। আইই 8 এর উদাহরণস্বরূপ, আই 7 আই মোডটি চালু করতে ক্লিক করতে একটি আইকন থাকতে পারে। আপনার প্রোগ্রামের অংশ হিসাবে, এটি সম্ভব নয়, সুতরাং সামঞ্জস্যতার জন্য নিয়ন্ত্রণটি পূর্ববর্তী মোডে ডিফল্ট হয়। ওটো, "আইই 8 মোড" ব্যবহার করার জন্য এটি কীভাবে সেট করবেন তা আমি পড়িনি।
জন স্যান্ডার্স

55
আসলে, জন স্যান্ডারস, আপনি ভুল বলেছেন। এটি ie4 ব্যবহার করে এবং আপনার বর্তমান ব্যবহার করতে বলার জন্য একটি রেজিস্ট্রি মান পরিবর্তন করতে হবে। "বৈশিষ্ট্য মোড এমুলেশন" সন্ধান করুন এবং আপনি আপনার উত্তরগুলি পেয়ে যাবেন, সম্প্রতি পরিবর্তিত হয়েছে, কীওয়ার্ড নেটিভ অন্তর্ভুক্ত করার জন্য ব্যবহৃত হয়েছে তবে তারা এটিকে পরিবর্তন করেছে, গুগল আমি "ওয়েব ব্রাউজার নিয়ন্ত্রণ" এর সাথে উল্লিখিত কীওয়ার্ডগুলি পেয়েছি এবং আপনি এমএসডিএন নিবন্ধটি পাবেন।
এরেক্স_ভিবি.এনএক্সটি. কোডার

8
ডিফল্টরূপে, একটি হোস্ট করা WebBrowserনিয়ন্ত্রণ আই 7 em এমুলেশন ব্যবহার করে, যদি না অন্যথায় নির্দেশ দেওয়া হয় FEATURE_BROWSER_EMULATION। এটি এখানে নথিভুক্ত করা হয়েছে: ব্লগস.এমএসডিএন
বি

উত্তর:


171

চেকআউট সিফশার্প। নেট বাইন্ডিংস, একটি প্রকল্প আমি কিছুক্ষণ আগে শুরু করেছি যা ধন্যবাদভাবে সম্প্রদায়টি গ্রহণ করেছে এবং দুর্দান্ত কিছুতে রূপান্তরিত করেছে।

প্রকল্পটি ক্রোমিয়াম এম্বেডড ফ্রেমওয়ার্কটি মোড় করে এবং রিডির উইন্ডোজ ক্লায়েন্ট, উইন্ডোজের জন্য ফেসবুক ম্যাসেঞ্জার এবং উইন্ডোজের জন্য গিথুব সহ ​​বেশ কয়েকটি বড় প্রকল্পে ব্যবহৃত হয়েছে।

এটা তোলে জন্য ব্রাউজারের নিয়ন্ত্রণগুলি অতিরিক্ত বৈশিষ্ট্যগুলিও উপস্থিত রয়েছে WPF এবং Winforms এবং বৈশিষ্ট্য এবং এক্সটেনশন পয়েন্ট টন হয়েছে। ক্রোমিয়ামের উপর ভিত্তি করে এটি খুব দ্রুত ফোস্কা হয়।

নুগেট থেকে এটি ধরুন: Install-Package CefSharp.WpfবাInstall-Package CefSharp.WinForms

উদাহরণগুলি দেখুন এবং আপনার মতামত / প্রতিক্রিয়া / পুল-অনুরোধ দিন: https://github.com/cefsharp/CefSharp

বিএসডি লাইসেন্স পেয়েছে


2
আমি ওডাব্লুএস থেকে সিইএফশার্পে স্যুইচ করেছি, এবং আমি দৃser়তার সাথে বলতে পারি এটি খুব উচ্চমানের এবং সক্রিয় সম্প্রদায়ের। এটা ভাল। github.com/cefsharp/CefSharp
Vin

1
সেফশার্প দুর্দান্ত তবে সচেতন থাকবেন যে গ্রন্থাগারগুলি ফলস্বরূপ বড় (20+ এমবি সর্বশেষ আমি দেখেছি) যাতে তারা আরও বেশি লাইটওয়েট প্রকল্পের জন্য সঠিক নাও হতে পারে।
Skyl3lazer

1
@ অ্যাঙ্গুয়েইন হ্যাঁ আপনি পারবেন
চিলিটিম

1
আপনি যে এই প্রকল্পটি শুরু করেছিলেন তা জেনে খুব খুশি! সম্প্রতি আমি সেরফার্প ব্যবহার করেছি, তবে আমি দেখতে পেলাম যে লাইব্রেরির আকার ৮০+ এমবি যা বিশাল, তবে অ্যাপ্লিকেশনটির সঠিক কাজকর্মের জন্য (বিশেষত মসৃণ রেন্ডারিং) প্রয়োজনীয় required এটি হ্রাস করার কোনও উপায় আছে কি?
আদিত্য বোকেদে

5
এটি আমার প্রকল্পটি ভেঙে দিয়েছে। উইনফর্ম নুগেট প্যাকেজ ইনস্টল করার পরে সমস্ত রেফারেন্স ভাঙা।
টুডমো

84

ক্রোম ওয়েবকিট ব্যবহার করে (একটি কাঁটাচামচ) যদি আপনি না জানতেন তবে এটি সাফারিও ব্যবহার করে। একই শিরা সম্পর্কিত কয়েকটি প্রশ্ন এখানে রইল:

ওয়েবকিটটি অন্য জবাবগুলির হিসাবে দুর্দান্ত নয়, একটি সংস্করণ আর কাজ করে না (গুগল কোড এক) এবং মনো একটি পরীক্ষামূলক। এটি ভাল লাগবে যদি কেউ শালীন তৈরি করার চেষ্টা করেন তবে নেট র্যাপার এটির জন্য কেউ মনে করেন না - এটি আশ্চর্যজনক যে এটি এখন HTML5 এবং আরও অনেকগুলি বৈশিষ্ট্যের সমর্থন পেয়েছে যে আইই (8) ) ইঞ্জিনের অভাব রয়েছে।

আপডেট (2014)

এখানে নতুন দ্বৈত-লাইসেন্সপ্রাপ্ত প্রকল্প রয়েছে যা আপনাকে আপনার .NET অ্যাপ্লিকেশনগুলিতে অ্যাওসোমিয়াম নামে ক্রোম এম্বেড করতে দেয় । এটি একটি নেট নেট সহ এসেছে তবে রেন্ডারিংয়ের জন্য বেশ কয়েকটি হ্যাকের প্রয়োজন (উদাহরণগুলি ব্রাউজার উইন্ডোটিকে একটি বাফারে আঁকায়, বাফারটিকে একটি চিত্র হিসাবে আঁকুন এবং একটি টাইমার রিফ্রেশ করুন)।

আমি মনে করি এটি যুদ্ধক্ষেত্র 3-এ অরিজিনের ব্যবহৃত ব্রাউজার।

আপডেট (২০১ 2016)

অ্যাওসোমিয়ামের বাণিজ্যিক বিকল্প এখন ডটনেট ব্রাউজারে রয়েছে। এটি ক্রোমিয়াম ভিত্তিক।


ধন্যবাদ। গেকো র‍্যাপারে আমার নজর পড়বে। যদিও একটি জিনিস, আসল উত্তরটি বলে "আপনাকে যা করতে হবে তা হ'ল মজিলা অ্যাক্টিভএক্স নিয়ন্ত্রণটি নিবন্ধিত করুন" এবং আমি ভেবেছিলাম এক্সপ্রেস সংস্করণগুলি অতিরিক্ত নিয়ন্ত্রণগুলি নিবন্ধন করতে পারে না। আমি কি স্পষ্ট কিছু মিস করছি?
সিলভারড্রাগ

4
এক্সপ্রেস সংস্করণগুলি সিল করুন আপনার প্রয়োজনীয় যতগুলি নিয়ন্ত্রণ নিবন্ধভুক্ত করতে পারেন। তারা যা করবে না তা আপনাকে ভিজ্যুয়াল স্টুডিওতে প্লাগইন ইনস্টল করতে দেয়।
জোয়েল কোহর্ন 14

1
সি # এর সাথে ওয়েবকিট ব্যবহারের আমার বেশ খারাপ অভিজ্ঞতা হয়েছে এবং অবশেষে আমাকে .NET- এর সাথে আসা ডিফল্ট ওয়েব ব্রাউজারের উপাদানটিতে স্থির করতে হয়েছিল
সুমিত ঘোষ

1
এই তারিখ হিসাবে, উপরের প্রকল্পগুলি কার্যকর ড্রপ-ইন প্রতিস্থাপন নয়। সংকলক ত্রুটি গ্লোর + অস্থিরতা। অ্যাভোসোমিয়াম, সম্পূর্ণ এবং সম্পূর্ণ জঞ্জাল।
ক্রাং প্রাইম

"আমি মনে করি এটি যুদ্ধক্ষেত্র 3-এ অরিজিনের ব্যবহৃত ব্রাউজার is" এটি ভুল। আমি এটি জানি কারণ আমাকে এই অ্যাপ্লিকেশনটি বাধ্যতামূলকভাবে উইন্ডোজ টেনে ব্যবহার করতে হয়েছিল কারণ যখন এটি ডিফল্ট হয়েছিল তখন এটি কাজ করে না। এটি কিছুক্ষণ আগে সম্ভবত একটি সমাধান করা সমস্যা।
হিথোথিস

64

আমি সি # ওয়েব ব্রাউজার উপাদানটির বিকল্পগুলি এখন কয়েক দিন ধরে পরীক্ষা করছি এবং এখানে আমার তালিকাটি রয়েছে:

1. নতুন IE সংস্করণ 8,9 ব্যবহার করে:

ওয়েব ব্রাউজার উপাদান আই 7 নয় আই 8? এটি কীভাবে পরিবর্তন করবেন?

পেশাদাররা:

  • এটি চালানোর জন্য খুব বেশি কাজের প্রয়োজন নেই
  • কিছু এইচটিএমএল 5 / সিএসএস 3 সমর্থন করে আইই 9, আইই 10 পূর্ণ

কনস:

  • টার্গেট মেশিনে অবশ্যই টার্গেট আইই সংস্করণ ইনস্টল করা থাকতে হবে, আইই 10 এখনও উইন 7 এর পূর্বরূপে রয়েছে

এর জন্য খুব বেশি কাজের প্রয়োজন হয় না এবং আপনি কিছু HTML5 এবং CSS3 সমর্থন পেতে পারেন যদিও আই 9 এর সেরা কিছু CSS3 এবং এইচটিএমএল 5 বৈশিষ্ট্য নেই। তবে আমি নিশ্চিত যে আপনি একইভাবে IE10 চালাতে পারবেন। সমস্যাটি হ'ল টার্গেট সিস্টেমটিতে আইই 10 ইনস্টল করতে হবে এবং যেহেতু উইন্ডোজ 7 এ এখনও পূর্বরূপে রয়েছে আমি এর বিপরীতে প্রস্তাব দেব।

2. ওপেনওয়েবকিটশার্প

ওয়েবকিট.এনইটি ০.০ প্রকল্পের উপর ভিত্তি করে ওয়েবকিট ইঞ্জিনের জন্য ওপেন ওয়েবেকিটশার্প একটি নেট র্যাপার। ওয়েবকিট ক্রোম / সাফারি দ্বারা ব্যবহৃত একটি লেআউট ইঞ্জিন

পেশাদাররা:

  • সক্রিয়ভাবে বিকাশিত
  • এইচটিএমএল 5 / সিএসএস 3 সমর্থন

কনস:

  • অনেকগুলি বৈশিষ্ট্য কার্যকর করা হয়নি
  • X64 সমর্থন করে না (অ্যাপ্লিকেশনটি x86 এর জন্য তৈরি করা উচিত)

ওপেন ওয়েবকিটটি বেশ দুর্দান্ত যদিও অনেকগুলি বৈশিষ্ট্য এখনও প্রয়োগ করা হয়নি, আমি ভিজ্যুয়াল স্টুডিওতে এটি ব্যবহার করে কয়েকটি সমস্যা অনুভব করেছি যা এখানে নাল অবজেক্টের রেফারেন্স ফেলে দেয় এবং পরে ডিজাইন মোডে, কিছু জেএস সমস্যা রয়েছে। এটি ব্যবহার করা প্রত্যেকে তত্ক্ষণাত জেএস সতর্কতার সাথে লক্ষ্য করবে। মাউসআপ, মাউসডাউন ... ইত্যাদি ইভেন্টগুলি কাজ করে না, জেএস ড্রাগ এবং ড্রপ বগি ইত্যাদি and

এটি ইনস্টল করতে আমার কিছুটা অসুবিধা হয়েছিল কারণ এটির জন্য ভিসি পুনরায় বিতরণযোগ্য ইনস্টলটির নির্দিষ্ট সংস্করণ প্রয়োজন, সুতরাং ব্যতিক্রমের পরে আমি ইভেন্ট লগটি দেখলাম, ভিসির সংস্করণ খুঁজে পেয়েছি এবং এটি ইনস্টল করেছি।

3. গেকোএফএক্স

পেশাদাররা:

  • মনোতে কাজ করে
  • সক্রিয়ভাবে বিকাশিত
  • এইচটিএমএল 5 / সিএসএস 3 সমর্থন

কনস:

  • D̶o̶e̶s̶n̶'̶t̶ ̶s̶u̶p̶p̶o̶r̶t̶ ̶x̶6̶4̶ ̶ (̶A̶p̶p̶ ̶m̶u̶s̶t̶ ̶b̶e̶ ̶b̶u̶i̶l̶t̶ ̶f̶o̶r̶ ̶x̶8̶6̶ মন্তব্যগুলি দেখুন) - নীচে দেখুন

উইকফোর্স অ্যাপ্লিকেশনগুলিতে এম্বেড করার জন্য গেকোএফএক্স একটি ক্রস প্ল্যাটফর্ম ওয়েবরোজার নিয়ন্ত্রণ। এটি উইন্ডোজে .NET এবং লিনাক্সের মনোতে ব্যবহার করা যেতে পারে। গেকো ফায়ারফক্সের ব্যবহৃত একটি লেআউট ইঞ্জিন।

আমি কয়েকটি তথ্য দিয়েছি যে গেকোএফএক্স সক্রিয়ভাবে বিকাশিত নয় যা সত্য নয়, অবশ্যই এটি ফায়ারফক্সের সর্বদা একটি বা দুটি সংস্করণ পিছনে তবে এটি স্বাভাবিক, আমি ক্রিয়াকলাপ এবং নিজেই নিয়ন্ত্রণ দ্বারা মুগ্ধ হয়েছি। এটি আমার যা কিছু প্রয়োজন ছিল তা করে তবে এটি চালানোর জন্য আমার কিছুটা সময় প্রয়োজন ছিল, এটি চালানোর জন্য এখানে একটি ছোট টিউটোরিয়াল দেওয়া হয়েছে:

  1. গেকোএফএক্স-উইন্ডোজ -১.0.০-০.২ ডাউনলোড করুন , আপনি পরীক্ষা করতে পারেন যে আরও নতুন পাওয়া যাচ্ছে কিনা গেকোএফএক্স
  2. দুটি ডাউনলোড করা ডিএল এর রেফারেন্স যুক্ত করুন
  3. যেহেতু গেকোএফএক্সের মোড়ক আপনার XulRunner দরকার তাই আপনার কোনটি প্রয়োজন তা দেখতে সংস্করণ তালিকায় যান
  4. এখন যেহেতু আমরা জানি যে XulRunner এর কোন সংস্করণ আমাদের প্রয়োজন, আমরা মজিলা XulRunner রিলিজগুলিতে যাই, সংস্করণ ফোল্ডারে -> রানটাইম -> xulrunner- (your_version) যান .en-US.win32.zip, আমাদের ক্ষেত্রে xulrunner-16.0.en- US.win32.zip
  5. সবকিছু আনজিপ করুন এবং সমস্ত ফাইলগুলি আপনার বিন \ ডিবাগ-এ অনুলিপি করুন (বা যদি আপনার প্রকল্পটি প্রকাশের জন্য সেট করা থাকে তবে ছেড়ে দিন)
  6. আপনার ফর্মটির ভিজ্যুয়াল স্টুডিও ডিজাইনারের কাছে যান, টুলবক্সে যান, ভিতরে ডান ক্লিক করুন -> আইটেমগুলি চয়ন করুন -> ব্রাউজ করুন - ডাউনলোড করা গেকোএফএক্স উইনফর্মগুলি dll ফাইলটি অনুসন্ধান করুন -> ঠিক আছে
  7. এখন আপনার নতুন কন্ট্রোল গেকো ওয়েবে ব্রাউজার করা উচিত

আপনার যদি সত্যই ক্রোম ব্যবহার করতে হয় তবে অ্যাওসোমিয়াম নামের এই পণ্যটি একবার দেখুন , এটি অ-বাণিজ্যিক প্রকল্পের জন্য বিনামূল্যে, তবে ব্যবসায়ের জন্য লাইসেন্স কয়েক হাজার ডলার।


4
গেকোএফএক্স আপ এবং চলমান কীভাবে তা সম্পর্কে খুব ভাল বর্ণনা। +1
অ্যালেক্স Essilfie

গেকোফেক্স-উইনফর্মগুলি তৈরি করার সময় আমার 4 টি জিটিকে # লাইব্রেরি দরকার ছিল (atk-ধারালো, gdk- ধারালো, গ্লিব-শার্প এবং gtk- ধারালো), তাই আমাকে প্রথমে মনো ইনস্টল করতে হয়েছিল।
বার্নহারড্রুশ

এই উত্তর দর্শনীয়।
মাইক কোল

সত্যিই একটি দুর্দান্ত বিশ্লেষণ। আপনি জানতে চেয়েছিলেন যে আপনি সি # অ্যাপ্লিকেশনগুলির সাথে অ্যাওসোমিয়াম পরীক্ষা করে দেখেন । এ নিয়ে আপনার কি কোনও বক্তব্য আছে? আমি এটি এখনও পরীক্ষা করে দেখিনি তবে তারা তাদের পৃষ্ঠায় উল্লিখিত ট্রাস্টিদের প্যানেলটি দেখার পরে আমার কাছে বিশ্বাসযোগ্য বলে মনে হচ্ছে।
আবদুল রেহমান

2
@ ওয়েইন আপনি যদি এটি ঠিকভাবে করতে চান তবে আপনার প্রকল্পে একটি ফোল্ডার তৈরি করা উচিত বা একটি স্পাইপারেট প্রকল্প যেখানে আপনি সমস্ত ফাইল, জেকো এফএক্স ডেলস এবং এক্সুল রানার ফাইলগুলি অন্তর্ভুক্ত করবেন এবং সেগুলি সর্বদা অনুলিপি করতে সেট করুন, তারপরে প্রতিটি বিল্ড অ্যাকশনে তারা পাবেন আপনার বিল্ড / ডিবাগ ফোল্ডারে অনুলিপি করা হয়েছে বা যদি আপনি ভিএস থেকে প্রকাশ করেন তবে প্রকাশিত হয়, এখানে এক্সপিকমও রয়েছে। আপনাকে যে পদ্ধতিতে কল করা উচিত তা উল্লেখ করতে হবে এবং আপনি এটি রানার ফাইলের পথটি পাস করতে পারবেন, আশা করি সহায়তা করবে
formatc

41

আমার একই সমস্যা ছিল, ওয়েব ব্রাউজারটি আইই এর একটি পুরানো সংস্করণ ব্যবহার করছিল, কিছু গুগলিংয়ের সাথে আমি নিম্নলিখিত কোডটি পেয়েছিলাম যা রেজিস্ট্রিতে পরিবর্তিত হয় এবং ওয়েব ব্রাউজারকে সর্বশেষতম আই সংস্করণটি ব্যবহার করতে সক্ষম করে:

 public enum BrowserEmulationVersion
    {
        Default = 0,
        Version7 = 7000,
        Version8 = 8000,
        Version8Standards = 8888,
        Version9 = 9000,
        Version9Standards = 9999,
        Version10 = 10000,
        Version10Standards = 10001,
        Version11 = 11000,
        Version11Edge = 11001
    }
    public static class WBEmulator
    {
        private const string InternetExplorerRootKey = @"Software\Microsoft\Internet Explorer";

        public static int GetInternetExplorerMajorVersion()
        {
            int result;

            result = 0;

            try
            {
                RegistryKey key;

                key = Registry.LocalMachine.OpenSubKey(InternetExplorerRootKey);

                if (key != null)
                {
                    object value;

                    value = key.GetValue("svcVersion", null) ?? key.GetValue("Version", null);

                    if (value != null)
                    {
                        string version;
                        int separator;

                        version = value.ToString();
                        separator = version.IndexOf('.');
                        if (separator != -1)
                        {
                            int.TryParse(version.Substring(0, separator), out result);
                        }
                    }
                }
            }
            catch (SecurityException)
            {
                // The user does not have the permissions required to read from the registry key.
            }
            catch (UnauthorizedAccessException)
            {
                // The user does not have the necessary registry rights.
            }

            return result;
        }
        private const string BrowserEmulationKey = InternetExplorerRootKey + @"\Main\FeatureControl\FEATURE_BROWSER_EMULATION";

        public static BrowserEmulationVersion GetBrowserEmulationVersion()
        {
            BrowserEmulationVersion result;

            result = BrowserEmulationVersion.Default;

            try
            {
                RegistryKey key;

                key = Registry.CurrentUser.OpenSubKey(BrowserEmulationKey, true);
                if (key != null)
                {
                    string programName;
                    object value;

                    programName = Path.GetFileName(Environment.GetCommandLineArgs()[0]);
                    value = key.GetValue(programName, null);

                    if (value != null)
                    {
                        result = (BrowserEmulationVersion)Convert.ToInt32(value);
                    }
                }
            }
            catch (SecurityException)
            {
                // The user does not have the permissions required to read from the registry key.
            }
            catch (UnauthorizedAccessException)
            {
                // The user does not have the necessary registry rights.
            }

            return result;
        }
        public static bool SetBrowserEmulationVersion(BrowserEmulationVersion browserEmulationVersion)
        {
            bool result;

            result = false;

            try
            {
                RegistryKey key;

                key = Registry.CurrentUser.OpenSubKey(BrowserEmulationKey, true);

                if (key != null)
                {
                    string programName;

                    programName = Path.GetFileName(Environment.GetCommandLineArgs()[0]);

                    if (browserEmulationVersion != BrowserEmulationVersion.Default)
                    {
                        // if it's a valid value, update or create the value
                        key.SetValue(programName, (int)browserEmulationVersion, RegistryValueKind.DWord);
                    }
                    else
                    {
                        // otherwise, remove the existing value
                        key.DeleteValue(programName, false);
                    }

                    result = true;
                }
            }
            catch (SecurityException)
            {
                // The user does not have the permissions required to read from the registry key.
            }
            catch (UnauthorizedAccessException)
            {
                // The user does not have the necessary registry rights.
            }

            return result;
        }

        public static bool SetBrowserEmulationVersion()
        {
            int ieVersion;
            BrowserEmulationVersion emulationCode;

            ieVersion = GetInternetExplorerMajorVersion();

            if (ieVersion >= 11)
            {
                emulationCode = BrowserEmulationVersion.Version11;
            }
            else
            {
                switch (ieVersion)
                {
                    case 10:
                        emulationCode = BrowserEmulationVersion.Version10;
                        break;
                    case 9:
                        emulationCode = BrowserEmulationVersion.Version9;
                        break;
                    case 8:
                        emulationCode = BrowserEmulationVersion.Version8;
                        break;
                    default:
                        emulationCode = BrowserEmulationVersion.Version7;
                        break;
                }
            }

            return SetBrowserEmulationVersion(emulationCode);
        }
        public static bool IsBrowserEmulationSet()
        {
            return GetBrowserEmulationVersion() != BrowserEmulationVersion.Default;
        }
    } 

আপনার কেবল একটি ক্লাস তৈরি করা উচিত এবং এতে এই কোডটি রাখা উচিত, তারপর প্রোগ্রামটি শুরু হওয়ার পরে নিম্নলিখিত কোডটি চালান:

 if (!WBEmulator.IsBrowserEmulationSet())
            {
                WBEmulator.SetBrowserEmulationVersion();
            }

VB.NET:

Imports Microsoft.Win32
Imports System
Imports System.Collections.Generic
Imports System.IO
Imports System.Linq
Imports System.Security
Imports System.Text
Imports System.Threading.Tasks

Public Enum BrowserEmulationVersion
    [Default] = 0
    Version7 = 7000
    Version8 = 8000
    Version8Standards = 8888
    Version9 = 9000
    Version9Standards = 9999
    Version10 = 10000
    Version10Standards = 10001
    Version11 = 11000
    Version11Edge = 11001
End Enum


Public Class WBEmulator
    Private Const InternetExplorerRootKey As String = "Software\Microsoft\Internet Explorer"
    Public Shared Function GetInternetExplorerMajorVersion() As Integer

        Dim result As Integer

        result = 0

        Try
            Dim key As RegistryKey
            key = Registry.LocalMachine.OpenSubKey(InternetExplorerRootKey)
            If key IsNot Nothing Then
                Dim value As Object = If(key.GetValue("svcVersion", Nothing), key.GetValue("Version", Nothing))

                Dim Version As String
                Dim separator As Integer
                Version = value.ToString()
                separator = Version.IndexOf(".")
                If separator <> -1 Then
                    Integer.TryParse(Version.Substring(0, separator), result)
                End If
            End If

        Catch ex As SecurityException
            'The user does Not have the permissions required to read from the registry key.
        Catch ex As UnauthorizedAccessException
            'The user does Not have the necessary registry rights.
        Catch

        End Try
        GetInternetExplorerMajorVersion = result
    End Function
    Private Const BrowserEmulationKey = InternetExplorerRootKey + "\Main\FeatureControl\FEATURE_BROWSER_EMULATION"

    Public Shared Function GetBrowserEmulationVersion() As BrowserEmulationVersion

        Dim result As BrowserEmulationVersion
        result = BrowserEmulationVersion.Default

        Try
            Dim key As RegistryKey = Registry.CurrentUser.OpenSubKey(BrowserEmulationKey, True)
            If key IsNot Nothing Then
                Dim programName As String
                Dim value As Object
                programName = Path.GetFileName(Environment.GetCommandLineArgs()(0))
                value = key.GetValue(programName, Nothing)
                If value IsNot Nothing Then
                    result = CType(Convert.ToInt32(value), BrowserEmulationVersion)
                End If
            End If
        Catch ex As SecurityException
            'The user does Not have the permissions required to read from the registry key.
        Catch ex As UnauthorizedAccessException
            'The user does Not have the necessary registry rights.
        Catch

        End Try

        GetBrowserEmulationVersion = result
    End Function
    Public Shared Function SetBrowserEmulationVersion(BEVersion As BrowserEmulationVersion) As Boolean

        Dim result As Boolean = False

        Try
            Dim key As RegistryKey = Registry.CurrentUser.OpenSubKey(BrowserEmulationKey, True)
            If key IsNot Nothing Then
                Dim programName As String = Path.GetFileName(Environment.GetCommandLineArgs()(0))
                If BEVersion <> BrowserEmulationVersion.Default Then
                    'if it's a valid value, update or create the value
                    key.SetValue(programName, CType(BEVersion, Integer), RegistryValueKind.DWord)
                Else
                    'otherwise, remove the existing value
                    key.DeleteValue(programName, False)
                End If
                result = True
            End If
        Catch ex As SecurityException

            ' The user does Not have the permissions required to read from the registry key.

        Catch ex As UnauthorizedAccessException

            ' The user does Not have the necessary registry rights.

        End Try

        SetBrowserEmulationVersion = result
    End Function


    Public Shared Function SetBrowserEmulationVersion() As Boolean
        Dim ieVersion As Integer
        Dim emulationCode As BrowserEmulationVersion
        ieVersion = GetInternetExplorerMajorVersion()

        If ieVersion >= 11 Then

            emulationCode = BrowserEmulationVersion.Version11
        Else

            Select Case ieVersion
                Case 10
                    emulationCode = BrowserEmulationVersion.Version10
                Case 9
                    emulationCode = BrowserEmulationVersion.Version9
                Case 8
                    emulationCode = BrowserEmulationVersion.Version8
                Case Else
                    emulationCode = BrowserEmulationVersion.Version7
            End Select
        End If

        SetBrowserEmulationVersion = SetBrowserEmulationVersion(emulationCode)
    End Function

    Public Shared Function IsBrowserEmulationSet() As Boolean
        IsBrowserEmulationSet = GetBrowserEmulationVersion() <> BrowserEmulationVersion.Default
    End Function
End Class

আপনি এটি ব্যবহার করতে পারেন:

If Not WBEmulator.IsBrowserEmulationSet() Then
    WBEmulator.SetBrowserEmulationVersion()
End If

1
চমৎকার !! তোমাকে অনেক ধন্যবাদ!
বেন

1
পাইথনে অনুবাদ করা (একটি আয়রন পাইথন অ্যাপ্লিকেশনে কাজ করা) এবং এটি পুরোপুরি কাজ করে। ধন্যবাদ!
ডেভিড

1
এটাই আমার জীবন বাঁচায়! ধন্যবাদ
নীরজ দুবে

1
এটি চমত্কার তবে ইমুলেশন সংস্করণটি পুনরায় সেট করা সম্ভব? দেখে মনে হচ্ছে সংস্করণটি কেবল একবার উইনফোর্ডস অ্যাপ্লিকেশনটিতে সেট করা যেতে পারে। যখনই এটির পুনঃনির্ধারণ করা সম্ভব হয় তখনই প্রভাবটি একবার সেট হয়ে গেলে এবং রেজিস্ট্রিতে রিসেট করে এটি কোনও উইনফোর্স অ্যাপ্লিকেশনটিতে নতুন রেজিস্ট্রি মানগুলির সাথে পুনরায় পড়া হয় না।
সাইমর্গ

1
@ ড্যারেনএমবি যতদূর আমি জানি এটি আইই ১১ ব্যবহার করে
আশকান মোবায়েণ খিয়াবাণী

27

আপনি ওয়েব ব্রাউজার নিয়ন্ত্রণের জন্য আইই সংস্করণ সেট করতে রেজিস্ট্রি ব্যবহার করতে পারেন। এখানে যান: এইচকেএলএম OF সফটওয়্যার \ মাইক্রোসফ্ট \ ইন্টারনেট এক্সপ্লোরার \ প্রধান \ ফিচারকন্ট্রোল \ ফিচার_ব্রোএসআইএমএলিউশন এবং ব্রাউজার_মুলেশন এর মান সহ "আপনার অ্যাপ্লিকেশননাম.এক্সে" যুক্ত করুন, লিংকটি দেখুন: http://msdn.microsoft.com/en-us /library/ee330730%28VS.85%29.aspx#browser_emulation


10
এবং আপনি যদি ভিজ্যুয়াল স্টুডিওতে ডিবাগ করছেন, আপনাকে সম্ভবত "আপনার অ্যাপ্লিকেশননাম.ভোস্টোস্ট.এক্সই" ব্যবহার করতে হবে
নিউইনগ্র্যান্ডার

3
এবং আপনি যদি ভিজ্যুয়াল স্টুডিওতে ডিবাগ করছেন, আপনি সম্ভবত আপনার প্রকল্পের বৈশিষ্ট্যগুলির ডিবাগ ট্যাবে "ভিজ্যুয়াল স্টুডিও হোস্টিং প্রক্রিয়া সক্ষম করুন" অনচেক করতে পারেন। তারপরে আপনি "vshost" অংশ ছাড়াই আপনার এক্সেস নামটি ব্যবহার করতে পারেন।
ড্যানিয়েল ভাইগোলভ

1
@golavietnam আপনি কি আমাকে এই সাহায্য করতে পারেন, আমি আপনার নির্দেশাবলী এবং আপনার প্রদত্ত লিঙ্কটিতে থাকা নির্দেশাবলী ব্যবহার করে চেষ্টা করেছি তবে এটি এখনও কার্যকর হয় না। আমি যখন ওয়েব ব্রাউজার নিয়ন্ত্রণ ব্যবহার করে হোয়াটসআইমাই ব্রাউজার ডটকম পরিদর্শন করি তখন এটি আমাকে বলে যে আমি ie11 BUT ব্যবহার করছি অর্থাৎ 7 সামঞ্জস্যতা মোডে এবং অনেক ওয়েবসাইট কাজ করতে অস্বীকার করে এবং আমাকে একটি "দয়া করে আপনার ব্রাউজার আপগ্রেড করুন" বার্তা দেয়। আমি কীভাবে ওয়েব ব্রাউজার নিয়ন্ত্রণটি সর্বশেষ সংস্করণটি ব্যবহার করতে বাধ্য করতে পারি যে এটি ইনস্টল করা (ie 11) এইভাবে কাজ করে না, আমি এটি একশবার চেষ্টা করেছি।
jay_t55

ধন্যবাদ, এটি কাজ করে এবং আমার দিনটি বাঁচিয়েছিল
Tấn Nguyên

18

মনো - ওয়েলব্রোজার নিয়ন্ত্রণটি দেখুন - এটি গেকো (ফায়ারফক্স দ্বারা ব্যবহৃত হিসাবে) বা ওয়েবকিটকে (সাফারি দ্বারা ব্যবহৃত) উইনফর্মগুলিতে (অ্যাক্টিভেক্স ব্যবহার না করে) এম্বেড করে।


16

আমি জানি এটি কোনও 'প্রতিস্থাপন' ওয়েব ব্রাউজার নিয়ন্ত্রণ নয়, তবে লেআউট ইত্যাদির জন্য বুটসট্র্যাপ 3+ ব্যবহার করা একটি পৃষ্ঠা দেখানোর সময় আমার কাছে কিছু ভয়াবহ রেন্ডারিংয়ের সমস্যা ছিল এবং তারপরে আমি একটি পোস্ট পেয়েছি যা প্রস্তাবিত আমি নিম্নলিখিতটি ব্যবহার করব। স্পষ্টতই এটি আই এর সাথে নির্দিষ্ট এবং এটি ক্লায়েন্ট মেশিনে রেন্ডারিংয়ের জন্য পাওয়া সর্বশেষ প্রকরণটি ব্যবহার করতে বলে (যাতে এটি আই 7 ব্যবহার করবে না বলে আমি বিশ্বাস করি যে এটি ডিফল্ট বলে মনে হয়)

সুতরাং শুধু লিখুন:

<meta http-equiv="X-UA-Compatible" content="IE=Edge" />

আপনার নথির প্রধান অংশে কোথাও।

অবশ্যই যদি এটি আপনার নথি না হয় তবে এটি অবশ্যই সহায়তা করবে না (যদিও আমি ব্যক্তিগতভাবে এটিকে একটি সুরক্ষা গর্ত হিসাবে বিবেচনা করি যদি আপনি ওয়েব ব্রাউজার নিয়ন্ত্রণের মাধ্যমে নিজের দ্বারা তৈরি করা পৃষ্ঠাগুলি না পড়েন - কেন কেবল ওয়েব ব্রাউজার ব্যবহার করবেন না!)

শুভকামনা।


আপনি যদি এটি আইই 7 চালিত পিসিতে কাজ করতে চান তবে এটি কোথাও রাখবেন না <head>, একে একে প্রথম সন্তানের হিসাবে রাখুন <head>। এটি বের করতে আমাদের কিছুটা সময় লেগেছে।
সিলভাইন

দুঃখিত আমি আমার পূর্ববর্তী মন্তব্যে IE8 নয় IE8 বোঝাতে চাইছি। আইই 8 তে, যদি আপনি <meta>প্রথম সন্তানের মতো না রাখেন তবে <head>এটি সামঞ্জস্যতা মোডে চলবে, প্রান্ত মোডে নয়।
সিলভাইন

আমি একটি উইনফর্ম অ্যাপে ওয়েব ব্রাউজার প্লাগইন ব্যবহার করছিলাম এবং এটি একটি বিশাল সহায়তা ছিল huge আমি যে পৃষ্ঠাটিতে হিট করছি তা হ'ল jquery & Angularjs ব্যবহার করছে যা দম বন্ধ করছে কারণ মনে হয়েছিল যে আমি ব্রাউজারটি আইই 7 ছিল যদিও আমি আইই 10 ইনস্টল করে রেখেছি।
কিউলিস

আমার জন্য কাজ! আপনি এটির জন্য IE এর নির্দিষ্ট সংস্করণে সেট করতেও এটি ব্যবহার করতে পারেন উদাহরণস্বরূপ: <মেটা http-برابر = "এক্স-ইউএ-সামঞ্জস্যপূর্ণ" সামগ্রী = "আই = 10" /> এবং সর্বদা ব্রাউজারটি 10 ​​হিসাবে কাজ করে (অবশ্যই আপনার প্রয়োজন একই সংস্করণ বা উচ্চতর ইনস্টল করতে হবে
ফ্রিডেভেলপার

এটি আমার ব্যবহারের জন্য উপযুক্ত। আমি সুন্দর এইচটিএমএল ফর্ম্যাট প্রতিবেদনগুলি দেখাতে চাই। ইতিমধ্যে সেখানে প্রচুর CSS সামগ্রী উপলব্ধ রয়েছে available এটি ক্রোম / ফায়ারফক্স এম্বেড করার চেয়ে ভাল পদ্ধতির।
এমডি লফি

13

কটাক্ষপাত DotNetBrowser গ্রন্থাগার। এটি ক্রোমিয়াম-ভিত্তিক ডাব্লুপিএফ এবং উইনফোর্ডস ব্রাউজার নিয়ন্ত্রণ সরবরাহ করে, যা নেট অ্যাপ্লিকেশনটিতে এম্বেড করা বেশ সহজ। এটি HTML5, CSS3 এবং জাভাস্ক্রিপ্ট সহ সমস্ত আধুনিক ওয়েব মানকে সমর্থন করে all রেন্ডার করা পৃষ্ঠাটি হ'ল গুগল ক্রোমের মতো দেখাচ্ছে।

লাইব্রেরিটি ক্রোমিয়ামের মাল্টি-প্রসেস আর্কিটেকচারের উত্তরাধিকারী - প্রতিটি ওয়েব পৃষ্ঠা পৃথক ক্রোমিয়াম প্রক্রিয়াতে রেন্ডার করা হয় এবং প্লাগইন ক্র্যাশ বা ওয়েব পৃষ্ঠায় অন্য কোনও অপ্রত্যাশিত ত্রুটি হওয়ার পরেও অ্যাপ্লিকেশন কাজ চালিয়ে যাবে।

এখানে ডটনেট ব্রাউজার দ্বারা সরবরাহিত আরও কিছু দরকারী বৈশিষ্ট্য রয়েছে: ইভেন্টগুলি লোড করা, নেটওয়ার্ক ক্রিয়াকলাপ পরিচালনা করা, প্রক্সি কনফিগার করা, ব্যবহারকারীর ক্রিয়াকলাপগুলি সুনির্দিষ্ট করা, কুকির সাথে কাজ করা, ডিওএম অ্যাক্সেস এবং সংশোধন করা, ডিওএম ইভেন্টগুলি শোনানো, নেট থেকে জাভাস্ক্রিপ্ট কল করা সম্ভব is এবং বিপরীতে, ওয়েব পৃষ্ঠায় ওয়েব ক্যামেরা এবং মাইক্রোফোন ব্যবহার করুন, ওয়েবআরটিসি-ভিত্তিক যোগাযোগ সেট আপ করুন এবং আরও অনেক কিছু

পরীক্ষা করে দেখুন API উল্লেখ আরো বিস্তারিত জানার জন্য।

নীচের কোড স্নিপেটটি দেখায় যে কীভাবে ব্রাউজারভিউ তৈরি করা যায়, এটি একটি ফর্মের মধ্যে এম্বেড করা যায় এবং একটি URL লোড করা যায়:

using System.Windows.Forms;
using DotNetBrowser;
using DotNetBrowser.WinForms;

namespace WinForms.DotNetBrowser
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            BrowserView browserView = new WinFormsBrowserView();
            Controls.Add((Control) browserView);
            browserView.Browser.LoadURL("http://www.youtube.com");
        }
    }
}

উপরের উদাহরণটি চালানোর পরে আপনি নিম্নলিখিত আউটপুটটি পাবেন:

এখানে চিত্র বর্ণনা লিখুন

গ্রন্থাগারটি বাণিজ্যিক। বাণিজ্যিক লাইসেন্সে বিভিন্ন টিমের আকারের জন্য সমর্থন প্যাকেজ অন্তর্ভুক্ত রয়েছে। গ্রন্থাগারের উত্স কোড কেনাও সম্ভব।

তার নিজস্ব পৃষ্ঠায় এছাড়া উপাদান হিসাবে উপলব্ধ NuGet প্যাকেজ এবং VSIX প্যাকেজ ভিসুয়াল স্টুডিও মার্কেটপ্লেসে পাওয়া।


16
এই পণ্যটির উচ্চ মূল্য সম্পর্কে সতর্ক হন
jjxtra

3
এটি ওপেন সোর্স নয়, এটি লাইসেন্স কম নয়।
আশীষ-বেজভায়াল

8

আমি মুষ্টিমেয় ওয়েবকিট বৈকল্পিক চেষ্টা করেছি, তবে আমার অভিজ্ঞতায় ওপেনওয়েবকিটশার্পের যে অগ্রগতি হয়েছে তা কিছুই হারায় না । এটি পছন্দ করুন এটি ভালবাসা .. এইচটিএমএল 5 এবং সিএসএস 3 স্কোরগুলি গুগল ক্রোমে যেতে পারে তত কাছাকাছি। খুব সুন্দর এপিআই এবং ইভেন্টের মডেল। আপনি যদি সম্ভবত "প্রয়োগ করা হয়নি" এপিআইগুলি সম্ভবত খুঁজে পান কারণ সেগুলি ওয়েবকিটে প্রয়োগ করা হয়নি। অন্য সব দুর্দান্ত কাজ করে।

ওয়েবকিট.এনইটি ০.০ প্রকল্পের উপর ভিত্তি করে ওয়েবকিট ইঞ্জিনের জন্য ওপেন ওয়েবেকিটশার্প একটি নেট র্যাপার। এটি 0.5 সংস্করণে আরও কার্যকারিতা যুক্ত করে এবং এটি বিল্ডের চেয়ে আরও বেশি পদ্ধতি সরবরাহ করে। ওপেন ওয়েবকিটশার্প কায়রো বিল্ড (0.5%) এবং রাতের বেলা ওয়েবকিট (নাইটলি ডিফল্টরূপে) উভয় সমর্থন করে supports সংস্করণ 1.5 তে স্থিতিশীল এবং আরও অনেকগুলি রাতের বিল্ড অন্তর্ভুক্ত এবং বিল্ডিংয়ের পরে স্বয়ংক্রিয়ভাবে অনুলিপি করা হয়। পূর্ববর্তী সংস্করণগুলিতে কায়রো বিল্ডের সাথে এটি ঘটে। ওপেন ওয়েবকিটশার্প বর্তমানে একটি দ্রুত, স্থিতিশীল এবং নমনীয় ওয়েব ব্রাউজার জিটিলাইট নেভিগেটরকে শক্তি দেয়।


1
ধন্যবাদ। এটি দুর্দান্ত আবিষ্কারের মতো দেখাচ্ছে!
সিলভারড্রাগ

তাদের ফোরামগুলিও বেশ সক্রিয় এবং আমি আমার প্রশ্নের খুব দ্রুত প্রতিক্রিয়া পেয়েছি। এখন আমি এটি আমার সমস্ত ওয়েব ব্রাউজার নিয়ন্ত্রণের জন্য ব্যবহার করছি
ভিন

2
হ্যাঁ, এটি সমস্ত কিছু করে, আপনি এক্সিকিউটিস্ক্রিপ্ট কল করেন। তবে আমি সেফশার্পে স্যুইচ করেছি এবং আমি আপনাকে বলতে পারি যে আমি এটি ওডাব্লুএস এর চেয়ে ভালভাবে পছন্দ করি
Vin

1
কোডের আর একটি ঘৃণ্য জগাখিচুড়ি যা এখনকার ব্যবহারের জন্য কার্যকর নয়।
ক্রাং প্রাইম

1
সাবধান ওয়েবকিট
এটির

7

আপডেট 2018 মে

যদি আপনি উইন্ডোজ 10 এ চালানোর জন্য অ্যাপ্লিকেশনটিকে লক্ষ্য করে থাকেন তবে এখন আপনি উইন্ডোজ কমিউনিটি টুলকিট ব্যবহার করে আপনার। নেট অ্যাপ্লিকেশনটিতে এজ ব্রাউজারটি এম্বেড করতে পারেন can

ডাব্লুপিএফ উদাহরণ:

1) উইন্ডোজ কমিউনিটি টুলকিট নিউট প্যাকেজ ইনস্টল করুন

Install-Package Microsoft.Toolkit.Win32.UI.Controls

2) এক্সএএমএল কোড

<Window
    x:Class="WebViewTest.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:WPF="clr-namespace:Microsoft.Toolkit.Win32.UI.Controls.WPF;assembly=Microsoft.Toolkit.Win32.UI.Controls"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:local="clr-namespace:WebViewTest"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    Title="MainWindow"
    Width="800"
    Height="450"
    mc:Ignorable="d">
    <Grid>
        <WPF:WebView x:Name="wvc" />
    </Grid>
</Window>

3) সিএস কোড:

public partial class MainWindow : Window
{
  public MainWindow()
  {
    InitializeComponent();

    // You can also use the Source property here or in the WPF designer
    wvc.Navigate(new Uri("https://www.microsoft.com"));
  }
}

উইনফোর্ডস উদাহরণ:

public partial class Form1 : Form
{
  public Form1()
  {
    InitializeComponent();

    // You can also use the Source property here or in the designer
    webView1.Navigate(new Uri("https://www.microsoft.com"));
  }
}

আরও তথ্যের জন্য দয়া করে এই লিঙ্কটি দেখুন।


আমি নুগেট প্যাকেজটি ইনস্টল করেছি, তবে এটি কাজ করছে না। এখনও টাই।
ডেনিজ

6

ব্যবহার করে দেখুন EO.WebBrowser । এটি নতুন এবং ক্রোম ব্রাউজারের সর্বশেষতম সংস্করণে ভিত্তি করে। এটির সর্বোত্তম অংশটি হ'ল এটি একক। NET dll এর মধ্যে সমস্ত কিছু প্যাক করে তাই এটি কেবল ব্যবহার এবং মোতায়েন করা খুব সহজ নয়, একই ডিএলএল 32 বিট এবং 64 বিট উভয়ই সমর্থন করে কারণ এটি একটি নেট নেট ll


9
ভবিষ্যতে দয়া করে জানান যে এটি বাণিজ্যিকভাবে লাইসেন্সযুক্ত পণ্য, এবং পণ্যটির সাথে আপনার কোনও সম্পর্ক রয়েছে কি না, এফএকিউগুলিতে স্ব-প্রচারকে এড়িয়ে চলুন দেখুন ।
অ্যান্ডি ব্রাউন

1
বছরের জন্য উন্মাদ-হ্যাটারের মতো অনুসন্ধানের পরে ---- এই "বাণিজ্যিক" নিয়ন্ত্রণটি আক্ষরিকভাবে কেবলমাত্র আইপি-র জন্য ড্রপ-ইন প্রতিস্থাপনের কাজ যা আমার কাছে প্রায় ডিক লাগেনি এবং আমার বর্তমান ব্রাউজারগুলির কোনওটুকুও স্ক্রু না করে didn't সেটিংস. - যদি পতাকাঙ্কিত হয় তবে আমি কোনওভাবেই আকার বা ফর্মের সাথে ইওর সাথে সম্পর্কিত নই। আমি দুঃখিত যে এই সমস্ত সমাধান সম্পূর্ণরূপে s__t - সম্পূর্ণরূপে আবর্জনা এবং প্রত্যেকের সময়ের সম্পূর্ণ অপচয়।
ক্রাং প্রাইম

@ সানুয়েল জ্যাকসন গেকোএফএক্স আমার সংস্থায় নিখুঁতভাবে কাজ করছে এবং ব্রাউজার সেটিংসে কোনও সমস্যা তৈরি করে না
ওয়েন

@ ওয়েইন - এটি আপনার পক্ষে ভাল। এই উন্মুক্ত প্রকল্পগুলির কোনওটিই একটি ড্রপ-ইন প্রতিস্থাপন নয় যা পরিচালিত কোড হিসাবে কাজ করার জন্য বিশেষত একটি ড্রপ-ইন উইনফরম নিয়ন্ত্রণ হিসাবে গুরুত্বপূর্ণ পরিবর্তন প্রয়োজন ification তাদের হয় কার্যকারিতার অভাব হয় যা আইআই নিয়ন্ত্রণ প্রস্তাব দেয় এবং / অথবা সম্পূর্ণ ধীরে ধীরে ধীরে ধীরে ক্র্যাশ হয়ে যায় বা ধীর হয়ে যায় - এমনকি এখানে সমস্ত সমস্যার তালিকা তৈরি করতে পারে না। সম্ভবত অন্য দশকে যখন ইন্টারনেটের আর ওয়েব-ব্রাউজারগুলির প্রয়োজন নেই, তখন সম্ভবত কার্যকর কিছু কাজ করার অবস্থায় থাকবে।
ক্রাং প্রাইম

@ সানুয়েল জ্যাকসন হুম, আমি আশা করি আপনি যা বলেছেন তা সত্য ছিল। দুর্ভাগ্যক্রমে বিকল্পগুলির মধ্যে (গেকোএফএক্স সহ) আমার কাছে কোনও শো-স্টপিং ত্রুটি ছিল না। আমি এও চাই যে আমি প্রয়োজনীয় জিনিসগুলি ব্রাউজারের জন্য উচ্চ মূল্য এড়াতে পারতাম। তবে একমাত্র তিনিই আমার পক্ষে নির্দ্বিধায় কাজ করেছিলেন।
মাইকেন রোসকিল্ড 21

5

আমি গেকোএফএক্স ব্যবহার করেছি এবং এটি আমার খুব ভালভাবে কাজ করে। এটি ফায়ারফক্স ইঞ্জিন ব্যবহার করে। এটির সাথে আমি যা চালিয়েছি তার মধ্যে কেবলমাত্র যে সাবধানতা অবলম্বন করা হয়েছে তা হ'ল এটি ডকুমেন্টটি পুরোপুরি লোড হওয়ার আগে একবার "ডকুমেন্টলয়েড" ইভেন্টটি প্রকাশ করে ... আমার মনে হয় এইচটিএমএল লোড হওয়ার পরে এটি একটি ঘটবে এবং তারপরে অন্যটি যখন সমস্ত চিত্র এবং স্টাফ লোড করা হয়। আমি প্রথমটিকে অগ্রাহ্য করে এটিকে ঠিক করেছি এবং এটি এতক্ষণ ব্যর্থ না হয়ে সুন্দরভাবে কাজ করেছে।

আপনি এটি এখানে পাবেন: https://bitbucket.org/geckofx/

বেশিরভাগ শালীন গ্রন্থাগারগুলির মতো এটি ওপেন সোর্স।


2
ফায়ারফক্স ভিত্তিক সমস্ত উপাদান যা কাজ করে, ফায়ারফক্সের ব্যবহারকারীদের ইনস্টল করে স্ক্রু করে। ভাগ্যক্রমে, এই সমাধানগুলির বেশিরভাগই কার্যত ব্যর্থ হয় এবং ভাগ্যবান হলে এটি আপনার ফায়ারফক্স সেটিংসকে কৌশল হিসাবে রাখে --- এত ভাগ্যবান নয়, আপনি আপনার সমস্ত সেটিংস হারাতে পারেন, এবং ড্রপ-ইন হিসাবে এখনও আইআই এর চেয়ে ভাল আর কিছু নেই।
ক্রাং প্রাইম

1
লিঙ্কটি মারা গেছে এবং পুরানো বিল্ড থেকে। bitbucket.org/geckofx এর বর্তমান সংস্করণ রয়েছে
ওয়েইন

@ স্যানুয়াল জ্যাকসন - আমি বছরের পর বছর ধরে গেকোএফএক্স ব্যবহার করেছিলাম এবং ফায়ারফক্স ব্যবহারকারীর দ্বারা ইনস্টল করার ক্ষেত্রে কোনও সমস্যা পাইনি - আমার নিজেরও। আপনি কি শুধু অনুমান করছেন?
পান্ডাওড

3

মোজনেট একটি। নেট নিয়ন্ত্রণ, পূর্বে কম বা কম পরিত্যক্ত গেকোএফএক্স নিয়ন্ত্রণের উপর ভিত্তি করে, তবে এটি সম্পূর্ণ বিকাশের অধীনে রয়েছে এবং গেকোএফএক্সের চেয়ে আরও বেশি বৈশিষ্ট্য রয়েছে যা লাঠি নাড়াচাড়া করতে পারে। আপনি এটি Se7en সফট ওয়েবসাইটে খুঁজে পেতে পারেন ।


1
গেকোএফএক্স সক্রিয়ভাবে এখানে বিকাশ করা হচ্ছে: বিটবাকেট
ওয়েন

2

EO.BrowserControl দ্রুত এবং সহজ। এটিতে ক্রোম ব্রাউজার ইঞ্জিন রয়েছে এবং .NET এর যে কোনও সংস্করণে কাজ করে

https://visualstudiogallery.msdn.microsoft.com/fcee0646-42e7-484f-b22e-f8b2ace55dd7

দ্রষ্টব্য: এটি একটি বাণিজ্যিকভাবে লাইসেন্সযুক্ত পণ্য এবং আমি এটি মাথায় রেখে প্রচার করছি না। অন্যান্য বিভিন্ন জিনিস চেষ্টা করার পরে, আমি এটি নির্বাচন করে শেষ করেছি।


2

২০১ 2016 আপডেট করুন:

আমি সুপারিশ করতে পারি অতিরিক্ত 3 টি বিকল্প রয়েছে:

1. ব্রাউজএমএল.সিএফ

একটি। নেট উপাদান যা আপনার। নেট অ্যাপ্লিকেশনে ক্রোম ইঞ্জিনকে সংহত করতে ব্যবহার করা যেতে পারে । সেফগ্লুয়ের উপর ভিত্তি করে তবে সর্বশেষতম ক্রোম সংস্করণে আপডেট হওয়াতে কিছুটা দ্রুত। এছাড়াও একটি বাণিজ্যিক সহায়তা বিকল্প উপলব্ধ রয়েছে যা কারও জন্য কার্যকর হতে পারে। অবশ্যই উপাদানটি ওপেন সোর্স

2. ব্রাউজএমএল.গেকো

অন্য। নেট উপাদান যা আপনার। নেট অ্যাপ্লিকেশনে ফায়ারফক্স ইঞ্জিনকে সংহত করতে ব্যবহার করা যেতে পারে । এটি গেকোফেক্সের উপর ভিত্তি করে তবে গেকোফক্সের বর্তমান সংস্করণের বিপরীতে এটি ফায়ারফক্সের একটি সাধারণ রিলিজ বিল্ডের সাথে কাজ করবে। গেকোফেক্স ব্যবহার করার জন্য আপনাকে নিজেরাই ফায়ারফক্স তৈরি করতে হবে। আবার বাণিজ্যিক সমর্থন পাওয়া যায় তবে উপাদানটি নিজেই সম্পূর্ণ উন্মুক্ত উত্স

3. ব্রাউজএমএল কোর এপিআই

আপনার। নেট অ্যাপ্লিকেশনটিতে সমস্ত বিভিন্ন ব্রাউজারের প্রয়োজন? যা ব্রাউজএমএল কোর এপিআই আপনি নিজের অ্যাপ্লিকেশনটিতে ক্রোম, ফায়ারফক্স, ওয়েবকিট এবং ইন্টারনেট এক্সপ্লোরারকে একীভূত করতে পারেন । এটি বাণিজ্যিক পণ্য যদিও সতর্ক হওয়া উচিত।

(সম্পূর্ণ প্রকাশ: আমি এই সংস্থার পক্ষে কাজ করি তাই আমি যা বলি তা লবণের দানা দিয়ে নিয়ে যাই)


1

যদি আপনি একটি ভাল IE ভিত্তিক নিয়ন্ত্রণের সন্ধান করছেন - চেক আউট করুন: http://code.google.com/p/csexwb2/

আমি এটি উত্পাদন পণ্যগুলিতে ব্যবহার করেছি। এটি বেশ ভাল এবং ভাল ডেমো রয়েছে যদিও এখনকার মতো আগের মতো রক্ষণাবেক্ষণ করা হবে বলে মনে হয় না।


1

গেকোফেক্স এবং ওয়েবকিট নেট উভয়ই প্রথমে প্রতিশ্রুতিবদ্ধ ছিল, তবে ইন্টারনেট এক্সপ্লোরার উন্নত হওয়ার সাথে সাথে তারা যথাক্রমে ফায়ারফক্স এবং ক্রোমের সাথে আপ টু ডেট রাখেনি, তেমনি ওয়েব ব্রাউজার কন্ট্রোলও করেছে, যদিও এটি আইই 7 এর সংস্করণ নির্বিশেষে এটি ডিফল্ট আইই 7 এর মতো আচরণ করে you রেজিস্ট্রিতে গিয়ে এইচটিএমএল 5 এর অনুমতি দিয়ে আইই 9 এ পরিবর্তন করে এটি ঠিক করা যেতে পারে।




0

আমি সেখানে উপস্থিত সমস্ত ব্রাউজার চেষ্টা করেছি। দুর্ভাগ্যক্রমে একমাত্র যে সমস্ত পরিস্থিতিতে আমার জন্য সত্যই কাজ করেছিল তা হ'ল ইও.ব্রোজার। আমি আশা করি আমি একটি নিখরচায় সমাধান বেছে নিতে পারতাম, তবে আমি ইও.ব্রোজার দিয়ে শেষ করেছি। এটি বেশ দামের, তবে ভালভাবে বজায় রাখা হয়েছে।


0

২০১ 2016 আপডেট করুন:

আমার কাছে, IE এর একমাত্র নির্ভরযোগ্য, রক্ষণাবেক্ষণ করা ব্রাউজার বিকল্প হ'ল EO.WebBrowser। আমি দিন এবং সপ্তাহ অন্যদের চেষ্টা করে কাটিয়েছি। তাদের সকলেরই কিছু সমস্যা ছিল যা আমার কাছে শো করার এক পর্যায়ে থামিয়ে দিয়েছিল।


1
আচ্ছা ... আমি প্রায় এক সপ্তাহ ধরে ছাপিয়েছি? এমএস ওয়েব ব্রাউজারকে কাজ করার চেষ্টা করছেন - সব কিছুই কার্যকর হয় না। অন্য কারও সাথে চেষ্টা করে দেখেনি =: - E EO.WebBrowser ব্যতীত যা প্রথমবারের জন্য আমার জন্য কাজ করেছিল। সুতরাং এর 20 মিনিট EO এর সাথে এবং সাফল্য বনাম 5 দিনের সাথে এমএস এবং সম্পূর্ণ এবং সম্পূর্ণ অদ্ভুত ব্যর্থতা। 'সাফল্য' কেনার জন্য এখনই আমাকে যা করতে হবে তা হ'ল is 750
রিচার্ড হ্যামন্ড

0

এখানে ওয়েবকিটএক্সের মতো বাণিজ্যিক পণ্যের দিকে নজর রাখা উচিত : https://www.webkitx.com

এখানে চিত্র বর্ণনা লিখুন

এটি ক্রোমিয়াম এম্বেড ফ্রেমওয়ার্ক ব্যবহার করে করে এবং উইন্ডোজ এক্সপি, 7, 8, 10-তে এইচটিএমএল 5, ওয়েবজিএল, পিডিএফ এবং ফ্ল্যাশ রেন্ডার করে It এটি 32-বিট পাশাপাশি নিয়ন্ত্রণের 64-বিট স্বাদ সরবরাহ করে।

এটি IE ওয়েব ব্রাউজার নিয়ন্ত্রণের মতো COM অবজেক্ট ব্যবহার করে ডোম অ্যাক্সেস সরবরাহ করে:

এখানে চিত্র বর্ণনা লিখুন

আপনি জাভাস্ক্রিপ্ট কল করতে পারেন ফাংশন নাম পাস করে স্কেলার আর্গুমেন্টগুলি (ওয়াল ব্যবহার না করে) এবং এটি অ্যাংুলারের জন্য জাভাস্ক্রিপ্ট কলব্যাকও রয়েছে :

এখানে চিত্র বর্ণনা লিখুন

আপনি জাভাস্ক্রিপ্টে আপনার নিজের আন্তঃ অপারেবল COM অবজেক্টগুলি যুক্ত করতে পারেন:

এখানে চিত্র বর্ণনা লিখুন

এটি HTML5 গেমিংয়ের জন্য ওয়েবজিএল / ওয়েব অডিওকে সমর্থন করে, যা আপনি সিট্রিক্স পরিবেশের জন্য অক্ষম করতে পারবেন:

এখানে চিত্র বর্ণনা লিখুন


আমি এটি উত্পাদনে ব্যবহার করি এবং আমি এটির পুরোপুরি বিশ্বাস করি। আমি আরও অনেককে চেষ্টা করেছি এবং আমি এই ব্রাউজারটির সাথে আটকে গিয়েছি। ডেভগুলি সত্যই ভাল এবং "ব্যক্তিগত"। আমি অন্য অনেকের মতো একা বোধ করি না। সত্যিই ভাল এবং স্থিতিশীল পণ্য।
সর্বশক্তিমান

এসও দাবি অস্বীকারকারীদের প্রয়োজন, তাই এলিয়াসের পক্ষে এটি উল্লেখ করা ভাল লাগল যে তিনি মোবাইলফেক্সের সিটিও, যিনি ওয়েবকিটএক্সের নির্মাতা
এইচকেও
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.