Table of Contents
মৌলিক বুঝতে
JavaScript এবং ওয়েব স্টোরেজ API-এর একটি বুকমার্ক ম্যানেজার তৈরি করা হবে । মূল-অংশপথ-প্লম ধারণা অনুশীলনের জন্য প্রাথমিক মান নির্ধারণের জন্য একটি চমৎকার প্রকল্প । । এই অ্যাপ্লিকেশনটি অবশ্যই এর মূল উদ্দেশ্য ধারণ করতে হবে: [FOR][FOP][FR], pL [F]:L], [F]:[F],] [FO[F],]] [F[F],]:::::::L [F], বর্তমানে, প্রথম ও প্রথম সন্ধানযোগ্য একটি প্রধান স্থানের জন্য একটি পাসওয়ার্ড নির্মাণ করা হবে না।
একটি পংক্তি লেখার পূর্বে, নীচের স্তম্ভগুলোর সম্পর্কে আপনার বোধগম্যতাকে দৃঢ় করুন:
- [[F] [FOFLT] [[F][F][F] আপনি ঘটনা, এবং বুকমার্ক প্রদর্শনের জন্য ডকুমেন্টগুলি সন্ধান করতে পারবেন। বুকমার্ক সংক্রান্ত নথিপত্র প্রদর্শন করার উদ্দেশ্যে বুকমার্কগুলি প্রদর্শিত হবে।
- [[[F] স্থানীয়][[F][F]]][FF] এই কী বিনিময় প্রক্রিয়া বন্ধ করা হলেও তথ্য লোড করা হবে। শুধুমাত্র ব্রাউজারের পরে ০০০], এই কী-এর দ্বারা রকাশ্যমান পরিমাণ তথ্য সংরক্ষণ করা হয়। [F] [FOL] [F]:[F]:L]: [F]
- [[F][F][F][F]][FLT]] পার্স কর [FLT], part [FOPL] মুছে ফেলা হবে [FLT] [FON]:[FO] [F][F]] পপ-আপ উইন্ডো অক্ষুন্ন রাখা হয়েছে [FDO বলা যায় না । [F] [F] [F] [F]::::[F] [F]
- [[F]R][FLT পদ্ধতি:[F], [FLT], [FO] [FLT], [FO[FLT]] এবং [FO[FLT]] বুকমার্কগুলো কার্যকর এবং নিযুক্ত বুকমার্কগুলো মুছে ফেলা হবে ।
ক্রীট বুকমার্ক ব্যবস্থাপক
HTML কাঠামো
স্বল্প, সাধারণ চিত্রের সাহায্যে ফোকাস এইচ. এস. ই. এইচ. এইচ. টি. এইচ. টি. - র কাঠামো ব্যবহার করে ফর্মটি বুকমার্কের নাম ও লিঙ্ক সংগ্রহ করে; একটি মেনু নয় বুকমার্ক সংরক্ষণ করো
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Bookmark Manager</title>
</head>
<body>
<h1>My Bookmarks</h1>
<form id="bookmarkForm">
<label for="name">Name</label>
<input type="text" id="name" required />
<label for="url">URL</label>
<input type="url" id="url" required />
<button type="submit">Add Bookmark</button>
</form>
<ul id="bookmarkList"></ul>
<script src="app.js" defer></script>
</body>
</html>
লক্ষ্য করুন [[FLT] স্ক্রিপ্ট ট্যাগে [[F] [FLT] বৈশিষ্ট্য [FO] - এর আগে স্ক্রিপ্ট সঞ্চালিত হওয়ার আগে এটি নিশ্চিত করে যে এটি সম্পূর্ণরূপে পার্স করা হয়েছে, আধুনিক প্রস্তুতির প্রয়োজন [FORE]]] মুছে ফেলা হবে ।
আমাদের স্থায়ীত্বের জন্য লড়াই (প্রস্তাবিত নয়)
CSS যখন ফোকাস না, একটি পরিষ্কার ইন্টারফেস ব্যবহারকারীর অভিজ্ঞতার মধ্যে আছে। একটি সাধারণ স্টাইল যোগ করে ফর্মটিকে বের করে, একটি ধারাবাহিক নকশার তালিকা প্রদান করে এবং বুকমার্ক ধরনকে বিভিন্ন ধরনের প্রভাবের সাহায্যে বর্ণনা প্রদান করা যাবে। সর্বনিম্ন ইনলাইন মাধ্যমেও বুকমার্ক স্ফিং করা যাবে, কিন্তু পৃথক [F] - এর জন্য একটি পৃথক মান নির্ধারণ করা যাবে। [F]
<!-- inside <head> -->
<link rel="stylesheet" href="style.css" />
[[[[F]] [Ctrl+F], বিন্যাসের জন্য fexbox ব্যবহার করো, কনটেন্টের জন্য সর্বোচ্চ, এবং বিশেষ করে millicet- এর জন্য মুছে ফেলা বাটন- এর উপর ক্লিক করুন ।
JavaScript লজিক - অ্যাপলিকেশনের হৃদয়
পরের বিভাগগুলো প্রত্যেকটা ফাংশন ভেঙে ফেলে ।
তথ্যের প্রারম্ভিক পরিবর্তন
আমাদের বুকমার্কের বর্তমান তালিকাকে একটি কেন্দ্রীয় ভেরিয়েবলের সঙ্গে স্থাপন করতে হবে । - শেষ & B[[[F]] ফাংশনকে প্রতি বার উত্পাদন করা হয় - একে যোগ, সম্পাদনা অথবা বুকমার্ক অপসারণ করার পর, । এই সংগ্রহস্থলটি সর্বদা সংযুক্ত । বুকমার্ক তালিকা রেন্ডারিং করুন [FLT:][FLT] সহ একটি নোঙ্গর ট্যাগ ও একটি অপসারণ বাটন তৈরি করুন । [[FLT] [Ctrl+২০] এর পরিবর্তে HTML- এ বুকমার্ককৃত বুকমার্ককৃত বারের পরিবর্তে HTML- এ ব্যবহৃত বুকমার্ক সংকলনটি ব্যবহার করে । ফর্মের & জন্য শুনুন [FLT] [FLT], ডিফল্ট পাতা পুনরায় লোড করা, একটি বুকমার্ক বস্তু তৈরি করুন, একে উত্পাদন করুন, অগ্রসর হোন এবং পুনরায় নতুন করে প্রতিস্থাপন করুন । প্রোডাকশনের জন্য আপনি হয়তো আরও বেশি করে ইউআরএল [FLTL] ব্যবহার করে আরও সঠিকভাবে ফরম্যাট করতে চান । [FLT: 2:২৩. প্রদত্ত indexing বস্তু মুছে ও ডি. এন.এম. হালনাগাদ করে DOM হালনাগাদ করা হচ্ছে। [[F][FLT] ব্যবহার করে বর্তমান অ্যারেটি চিহ্নিত স্থানে ভাগ করা হবে । যদি আপনি outputটি পছন্দ করেন, আপনি [FODRPL] ব্যবহার করতে পারেন [FR] এবং চিহ্নিত [FOD7], কিন্তু এই একটি ছোট প্রকল্পের জন্য [FODO [F8] স্পষ্ট এবং স্পষ্ট: [F8] এটা হল একটা যন্ত্র, যা একটা যন্ত্রকে পরিণত করে । একটি ঘর- এর নাম/ লিঙ্ক প্রতি সম্পাদন করো । কোন একটি নাম প্রতি সম্পাদন বাটন, প্রতি সম্পাদন টি রূপান্তর করো প্রতি সম্পাদন, বর্তমান মান দ্বারা টি অংশ টি অংশ প্রতি সম্পাদন, সংরক্ষণ, এবং এ চেষ্টা, সংরক্ষণ, এবং এ পরীক্ষা করো ইঙ্গিত: [FLT] সম্পাদনের জন্য একটি ফাংশান যোগ করুন যা সম্পাদন করা হবে:% 1. [FODO:][L][FOPL]]] ব্যবহার করুন [FODON [L]]]][/FODOPL][1]]] সূত্র মুছে ফেলা হবে না এবং একাধিক শ্রোতা ছাড়া সম্পাদন করার জন্য সম্পাদনের জন্য চিহ্নিত তালিকা প্রদর্শন করা হবে ঐচ্ছিক [[[[[[[[]]] প্রতিটি বুকমার্ক বস্তুর জন্য একটি বৈশিষ্ট্য । তারপর, [FOD:], চিহ্নিত এনট্রির সাথে ঐ ফিল্টার অন্তর্ভুক্ত পংক্তিকে একত্রিত করুন যার মধ্যে অন্তর্ভুক্ত সামগ্রীটি উপস্থিত একটি পংক্তি পংক্তিরূপে সংরক্ষণ করা যাবে । ব্যাক-আপ বুকমার্ক ব্যবহার করে.[[FLT] একটি ফাইল ব্যবহার করুন বা একটি ডাউনলোড করুন। রপ্তানি [Fgt:][F3:] [FLT] এবং [Fgt [FLT] এর মধ্যে একটি ডাউনলোড করে একটি ডাউনলোড করুন এবং[F]:[FLT] -R [F].D [F] বুকমার্ক তালিকা & ওপর একটি ইনপুট নাম করো স্থানীয় অবস্থান সকল আধুনিক ব্রাউজারের ক্ষেত্রে সমর্থিত, কিন্তু পুরোনো ইন্টারনেট এক্সপ্লোরারের (ইইই ৮ইএনএলবি) পুরোনো সংস্করণ (সেবিআইএলবিএম) যদি আপনি উত্তরাধিকারিণী পরিবেশকে সমর্থন করেন, যদি আপনার অবশ্যই পলি-ফিডলপ্স পরীক্ষা করে দেখতে হবে অথবা কুকির কাছে ফিরে যেতে হবে । আজ [FORO বলা হয়: [F] [F], Fine, Find], Find [F], Fi], SOD [F], এবং [F] এর সাথে যোগাযোগ করুন পরীক্ষা করার সময়, পরীক্ষা করুন: [[[[[[F]] [F] [F]] [FLT] - এর জন্য একটি টুল অনুসন্ধান করুন [FOPL] [FOPL] [F[F]], part] [F[F],][FO][F], pard] [FO[[F]]], pard] -L [FO[F],] -L] ব্যবহার করে, URL:[FOW]] [F[Ctrl],]] [FIL]::::[/F মন.ল, 1, পংক্তিগুলির মধ্যে অনুসন্ধানের জন্য উপলব্ধ করা, প্রথম হিসাবে বিন্যাসের জন্য চিহ্নিত সামগ্রী অনুসন্ধানের জন্য [FLLLLLLL] এই প্রকল্পটি দেখায় কীভাবে কয়েক ডজন টমেটোর একটি সম্পূর্ণ, স্থায়ী ওয়েব অ্যাপ্লিকেশন তৈরি করতে পারে । আপনি [FROL][FROPL] - র শেষ প্রান্তে পুনঃস্থাপিত করতে শিখেছেন । ১:L [FROL] জন্য [FROPL], [FR] প্রতিনিধি, SPL [F], SROD [F], SV::L [F] -L] [FRUT] -L [FRV,]] -L [FD [F]::::::: [FOD] -L] -LOR, prov.RUT [FW [F]] - এ ব্যবহৃত-v.RUT]]:::::L [F]] - এ উপলব্ধ সকল কাজের জন্য একটি কর্মফল দ্বারা উপলব্ধ করা হয় আপনার বোধগম্যতাকে গভীর করতে, স্থানীয় টাইমটেশন [FLT] ত্রত্রটি পরীক্ষা করুন এবং [FOF] সম্পর্কে পড়া হবে [FOL] । আরো উন্নত মানের সাথে ব্যবহারের জন্য [FROL]:LLL [FROD] লেখা যাবে:LLOVE[F] [F], SV] [F].L].L.F.D.F.L]:L.D.D.L.D.L.D. -L.D.::L.D.L. নিম্নলিখিত URL'র মাধ্যমে নির্মিত বিবরণের মধ্যে উপস্থিত লেখা হয়েছে [F.D.R.:L.D.[T.D.[ এ.D.L.D. বার পরীক্ষা করুন:L. বার পরীক্ষা করুন]let bookmarks = [];
function loadBookmarks() {
const stored = localStorage.getItem('bookmarks');
if (stored) {
bookmarks = JSON.parse(stored);
} else {
bookmarks = [];
}
}
function saveBookmarks() {
localStorage.setItem('bookmarks', JSON.stringify(bookmarks));
}
loadBookmarks(); বুকমার্ক প্রদর্শন
function renderBookmarks() {
const list = document.getElementById('bookmarkList');
list.innerHTML = ''; // clear existing entries
bookmarks.forEach(function(bookmark, index) {
const li = document.createElement('li');
li.dataset.index = index;
const link = document.createElement('a');
link.href = bookmark.url;
link.textContent = bookmark.name;
link.target = '_blank';
link.rel = 'noopener noreferrer';
const deleteBtn = document.createElement('button');
deleteBtn.textContent = 'Delete';
deleteBtn.addEventListener('click', function() {
deleteBookmark(index);
});
li.appendChild(link);
li.appendChild(deleteBtn);
list.appendChild(li);
});
} বুকমার্ক যোগ করা হচ্ছে
document.getElementById('bookmarkForm').addEventListener('submit', function(e) {
e.preventDefault();
const nameInput = document.getElementById('name');
const urlInput = document.getElementById('url');
const newBookmark = {
name: nameInput.value.trim(),
url: urlInput.value.trim()
};
// Basic validation: ensure URL starts with http/https
if (!newBookmark.url.startsWith('http://') && !newBookmark.url.startsWith('https://')) {
newBookmark.url = 'https://' + newBookmark.url;
}
bookmarks.push(newBookmark);
saveBookmarks();
renderBookmarks();
// Reset form
nameInput.value = '';
urlInput.value = '';
nameInput.focus();
}); বুকমার্ক মুছে ফেলা হচ্ছে
function deleteBookmark(index) {
bookmarks.splice(index, 1);
saveBookmarks();
renderBookmarks();
} অ্যাপ্লিকেশন প্রস্তুত করা হচ্ছে
বুকমার্ক সম্পাদনা
ট্যাগ সহ কম্পাইল করা হচ্ছে
ইম্পোর্ট ও এক্সপোর্ট করুন
function exportBookmarks() {
const data = JSON.stringify(bookmarks, null, 2);
const blob = new Blob([data], { type: 'application/json' });
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = 'bookmarks.json';
a.click();
URL.revokeObjectURL(url);
} অনুসন্ধানের ফিল্টার
ramet সার্ভারে পরিচয় প্রমাণ এবং পরীক্ষা করা হচ্ছে
অন্তর্ভুক্ত