<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-270257753599767750</id><updated>2026-10-17T20:29:10.072+05:30</updated><category term="extension"/><category term="Chrome browser extension"/><category term="chrome extension"/><category term="Website blocker"/><category term="chrome addon"/><category term="Angular"/><category term="javascript"/><category term="Firefox"/><category term="linkedin"/><category term="php"/><category term="Angular 14"/><category term="Regular Expression"/><category term="bootstrap"/><category term="cakephp"/><category term="codeigniter"/><category term="typescript"/><category term="validation"/><category term="API"/><category term="Add New MySQL User"/><category term="Android"/><category term="AppStore Ranking"/><category term="BSE"/><category term="CSV"/><category term="Calculating Price Ranges"/><category term="Chrome"/><category term="Console.log"/><category term="Customer feedback"/><category term="Decryption"/><category term="Detect Alphabet only string"/><category term="EXTJs"/><category term="Facebook API"/><category term="Features"/><category term="Finding all url links in a page"/><category term="Framework"/><category term="Google Currency Converter"/><category term="JIRA"/><category term="Jquery"/><category term="Link Submition"/><category term="Live Priview"/><category term="NSE"/><category term="Nginx"/><category term="PDF to MS Word"/><category term="Redis"/><category term="Services"/><category term="Singleton"/><category term="Stock average caluclator"/><category term="Templates"/><category term="Thumbnail script"/><category term="Visual Studio Code"/><category term="accessibility"/><category term="ajax simple code javascript"/><category term="blog"/><category term="browser add-on"/><category term="browsers"/><category term="code Splitting"/><category term="code generation"/><category term="cross platform"/><category term="debugging"/><category term="email"/><category term="events"/><category term="file upload"/><category term="find url of page"/><category term="flex"/><category term="free hosting"/><category term="get current page url in php"/><category term="gumroad"/><category term="image resize"/><category term="inheritance"/><category term="list files"/><category term="list of files in a directory"/><category term="node.js"/><category term="openai"/><category term="php Encryption"/><category term="php file exists or not"/><category term="php url links"/><category term="reader"/><category term="redirect page"/><category term="remote ftp"/><category term="responsive"/><category term="rss"/><category term="scrape"/><category term="shares average"/><category term="stock average"/><category term="stock calculator"/><category term="unpacked extension"/><category term="wordpress"/><title type='text'>Tutorials, Tips and Technology</title><subtitle type='html'>Tutorials, Chrome extensions Code samples   JavaScript Angular CSS  HTML.&#xa;Updated regularly. Visit and subscribe to the rss feed.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://phpcodetutorials.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://phpcodetutorials.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>82</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-270257753599767750.post-6318858418116236772</id><published>2026-03-12T21:02:00.007+05:30</published><updated>2026-03-12T21:26:11.248+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Chrome browser extension"/><category scheme="http://www.blogger.com/atom/ns#" term="gumroad"/><title type='text'>How to get Tirupati temple ticket</title><content type='html'>


&lt;!--HERO--&gt;
&lt;header class=&quot;hero&quot;&gt;
  &lt;div class=&quot;hero-eyebrow&quot;&gt;Chrome Extension Review&lt;/div&gt;
  &lt;h1&gt;Stop Wasting Precious Minutes on&lt;br /&gt;&lt;em&gt;TTD Darshan Booking Forms&lt;/em&gt;&lt;/h1&gt;
  &lt;p class=&quot;subtitle&quot;&gt;A devotee-built Chrome extension that autofills every field, logs you in instantly, and books your group — all in one click.&lt;/p&gt;
  &lt;div class=&quot;hero-meta&quot;&gt;
    &lt;span&gt;By Daisy Mirthwood&lt;/span&gt;
    &lt;span class=&quot;dot&quot;&gt;✦&lt;/span&gt;
    &lt;span&gt;TT Devasthanam Booking Helper&lt;/span&gt;
    &lt;span class=&quot;dot&quot;&gt;✦&lt;/span&gt;
    &lt;span&gt;Chrome Extension&lt;/span&gt;
  &lt;/div&gt;
&lt;/header&gt;

&lt;!--TEMPLE IMAGE--&gt;&lt;p class=&quot;image-caption&quot;&gt;Tirumala Venkateswara Temple — one of the most visited pilgrimage sites in the world&lt;/p&gt;

&lt;!--ARTICLE--&gt;
&lt;article class=&quot;article&quot;&gt;

  &lt;p class=&quot;intro-drop&quot;&gt;Every year, millions of devotees from across India — and beyond — attempt to book a Darshan slot at the sacred Tirumala Venkateswara Temple. The online portal of Tirumala Tirupati Devasthanams (TTD) is the gateway to this spiritual experience. But anyone who has tried to book during peak season knows the drill: the site opens, thousands rush in simultaneously, and in the chaos of filling out form after form for an entire family group, precious seconds slip away. By the time you&#39;re done entering Aadhar numbers for the sixth person, the slots are gone.&lt;/p&gt;

  &lt;p&gt;A new Chrome extension called &lt;strong&gt;TT Devasthanam Booking Helper&lt;/strong&gt;, created by developer &lt;strong&gt;Daisy Mirthwood&lt;/strong&gt; and available on Gumroad, is designed to eliminate exactly that frustration. It&#39;s a smart, lightweight browser extension that pre-saves all your traveler details — and autofills the entire booking form in a single click.&lt;/p&gt;

  &lt;div class=&quot;pullquote&quot;&gt;
    &quot;What if you never had to type your Aadhar number into a TTD booking form again? That&#39;s exactly the promise this extension delivers.&quot;
  &lt;/div&gt;

  &lt;h2&gt;Why the TTD Booking Process Is So Painful&lt;/h2&gt;

  &lt;p&gt;The TTD online portal serves crores of devotees, and it shows. When Special Darshan slots open, the competition is intense and the time window is razor-thin. The booking form asks for details for every single traveler in your group — name, mobile number, date, Aadhar card number, and more. For a family of five or six, that&#39;s a lot of manual typing under pressure.&lt;/p&gt;

  &lt;p&gt;Even small mistakes — a mistyped digit in an Aadhar number, forgetting to select the correct date — can invalidate your booking attempt and send you back to square one. The process is stressful, error-prone, and frankly, antithetical to the peaceful spiritual journey you&#39;re trying to plan.&lt;/p&gt;

  &lt;div class=&quot;highlight-box&quot;&gt;
    &lt;p&gt;&lt;strong&gt;Did you know?&lt;/strong&gt; Tirumala Tirupati Devasthanams manages one of the most visited religious sites on earth, with footfall often exceeding 50,000 to 80,000 pilgrims per day. Securing an online Darshan slot is intensely competitive — every second of the booking process matters.&lt;/p&gt;
  &lt;/div&gt;

  &lt;h2&gt;Enter the TT Devasthanam Booking Helper&lt;/h2&gt;

  &lt;p&gt;The TT Devasthanam Booking Helper is a Chrome browser extension that sits quietly in your toolbar — invisible until you need it, and then dramatically useful. The concept is elegantly simple: you enter all your traveler details once, save them securely in the extension, and on booking day it fills everything in for you automatically.&lt;/p&gt;

  &lt;p&gt;Here&#39;s a look at the core features that make it stand out:&lt;/p&gt;

  &lt;div class=&quot;features-grid&quot;&gt;
    &lt;div class=&quot;feature-card&quot;&gt;
      &lt;span class=&quot;feature-icon&quot;&gt;⚡&lt;/span&gt;
      &lt;h4&gt;Quick Access Popup&lt;/h4&gt;
      &lt;p&gt;Launch the entire interface with a single click from your Chrome toolbar. No menus, no hunting around.&lt;/p&gt;
    &lt;/div&gt;
    &lt;div class=&quot;feature-card&quot;&gt;
      &lt;span class=&quot;feature-icon&quot;&gt;📱&lt;/span&gt;
      &lt;h4&gt;Essential Details Capture&lt;/h4&gt;
      &lt;p&gt;Securely save your primary 10-digit mobile number and default date of booking — the two fields that never change.&lt;/p&gt;
    &lt;/div&gt;
    &lt;div class=&quot;feature-card&quot;&gt;
      &lt;span class=&quot;feature-icon&quot;&gt;👨‍👩‍👧‍👦&lt;/span&gt;
      &lt;h4&gt;Group Traveler Management&lt;/h4&gt;
      &lt;p&gt;Use the &quot;Add People&quot; button to enter and manage details for every person in your group. Handle large families with ease.&lt;/p&gt;
    &lt;/div&gt;
    &lt;div class=&quot;feature-card&quot;&gt;
      &lt;span class=&quot;feature-icon&quot;&gt;🪪&lt;/span&gt;
      &lt;h4&gt;Aadhar-Focused ID Support&lt;/h4&gt;
      &lt;p&gt;Currently supports Aadhar Number as the valid ID type — keeping data entry focused, accurate, and TTD-compliant.&lt;/p&gt;
    &lt;/div&gt;
    &lt;div class=&quot;feature-card&quot;&gt;
      &lt;span class=&quot;feature-icon&quot;&gt;🔐&lt;/span&gt;
      &lt;h4&gt;Instant Login Automation&lt;/h4&gt;
      &lt;p&gt;Visits the login page? One click on &quot;Fill Data&quot; inserts your mobile number and auto-submits — logging you in within seconds.&lt;/p&gt;
    &lt;/div&gt;
    &lt;div class=&quot;feature-card&quot;&gt;
      &lt;span class=&quot;feature-icon&quot;&gt;✅&lt;/span&gt;
      &lt;h4&gt;Comprehensive Autofill&lt;/h4&gt;
      &lt;p&gt;Fills date, number of persons, and all traveler Aadhar details across Special Darshan and booking pages simultaneously.&lt;/p&gt;
    &lt;/div&gt;
  &lt;/div&gt;

  &lt;div class=&quot;divider&quot;&gt;✦&lt;/div&gt;

  &lt;h2&gt;Watch It in Action&lt;/h2&gt;

  &lt;p&gt;Daisy Mirthwood has put together a detailed demo video showing exactly how the extension works — from installation all the way through a complete booking autofill. If you&#39;re wondering how fast the process really becomes, watching the demo is the best way to see it for yourself.&lt;/p&gt;

  &lt;!--Demo Video Box--&gt;
  &lt;div class=&quot;video-box&quot;&gt;
     &lt;iframe allowfullscreen=&quot;&quot; class=&quot;BLOG_video_class&quot; height=&quot;400px&quot; src=&quot;https://www.youtube.com/embed/OjV9DkuwPYQ&quot; width=&quot;100%&quot; youtube-src-id=&quot;OjV9DkuwPYQ&quot;&gt;&lt;/iframe&gt;
  &lt;/div&gt;

  &lt;!--Installation Video Box--&gt;
  &lt;div class=&quot;video-box&quot;&gt;
   &lt;iframe allowfullscreen=&quot;&quot; class=&quot;BLOG_video_class&quot; height=&quot;400px&quot; src=&quot;https://www.youtube.com/embed/B6ElB-ieV_w&quot; width=&quot;100%&quot; youtube-src-id=&quot;B6ElB-ieV_w&quot;&gt;&lt;/iframe&gt;
  &lt;/div&gt;

  &lt;div class=&quot;divider&quot;&gt;✦&lt;/div&gt;

  &lt;h2&gt;How to Use It — Step by Step&lt;/h2&gt;

  &lt;p&gt;Getting started is genuinely simple. Here&#39;s the full process from install to first autofill:&lt;/p&gt;

  &lt;ol class=&quot;steps&quot;&gt;
    &lt;li&gt;&lt;strong&gt;Installation:&lt;/strong&gt; Download the extension from the Gumroad product page and install it into your Chrome browser as shown in the accompanying installation video.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Open the Popup:&lt;/strong&gt; Click the extension icon in your Chrome toolbar to open the popup interface.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Enter Primary Details:&lt;/strong&gt; Input your 10-digit mobile number and select your default Date of Booking. These are saved for all future sessions.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Add Travelers:&lt;/strong&gt; Click the &quot;Add People&quot; button and fill in each traveler&#39;s details — including their Aadhar Number. Repeat for every person in your group.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Save:&lt;/strong&gt; Hit save. Your details are now securely stored in the extension, ready to deploy on booking day.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;On Booking Day — Login:&lt;/strong&gt; Visit the TTD login page, click &quot;Fill Data&quot; in the popup — your mobile number is entered and the form is submitted automatically. You&#39;re logged in within seconds.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;On the Booking Page — Autofill:&lt;/strong&gt; Navigate to the Special Darshan or booking page, click &quot;Fill Data&quot; again, and watch as every field — date, number of persons, and all individual Aadhar details — gets filled in instantly and accurately.&lt;/li&gt;
  &lt;/ol&gt;

  &lt;div class=&quot;highlight-box&quot;&gt;
    &lt;p&gt;&lt;strong&gt;Pro tip:&lt;/strong&gt; Set up the extension the evening before a booking slot opens. That way, on the day of booking, all you need to do is click &quot;Fill Data&quot; — no scrambling to remember details or type under pressure.&lt;/p&gt;
  &lt;/div&gt;

  &lt;h2&gt;Intelligent Login Automation — A Closer Look&lt;/h2&gt;

  &lt;p&gt;One of the most impressive touches in this extension is the login automation. When you land on the TTD login page, you don&#39;t even need to manually click your mobile number field and start typing. Open the popup, click &quot;Fill Data,&quot; and the extension inserts your saved mobile number into the correct field and automatically submits the form. You are logged in almost instantly.&lt;/p&gt;

  &lt;p&gt;This alone saves critical seconds during peak booking periods when you&#39;re competing against thousands of other devotees trying to get in at the same moment.&lt;/p&gt;

  &lt;h2&gt;The Autofill That Actually Works&lt;/h2&gt;

  &lt;p&gt;The extension&#39;s Special Darshan page autofill is where it really earns its place. Once you&#39;re on the booking page and click &quot;Fill Data,&quot; the extension comprehensively populates:&lt;/p&gt;

  &lt;ul style=&quot;line-height: 2; margin-bottom: 1.4rem; padding-left: 24px;&quot;&gt;
    &lt;li&gt;&lt;strong&gt;Date of Booking&lt;/strong&gt; — uses your saved default, with the option to adjust&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Number of Persons&lt;/strong&gt; — automatically counted from your saved traveler list&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Individual Traveler Details&lt;/strong&gt; — name and Aadhar number filled for every single person in your group&lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;No partial fills. No skipped fields. The extension is designed to handle the entire form in one decisive action.&lt;/p&gt;

  &lt;div class=&quot;pullquote&quot;&gt;
    &quot;In the race for Darshan slots, the difference between success and disappointment can be as little as 10 seconds. This extension gives you those seconds back.&quot;
  &lt;/div&gt;

  &lt;h2&gt;Who Is This For?&lt;/h2&gt;

  &lt;p&gt;This extension is built for anyone who books TTD Darshan online — but it&#39;s especially valuable for:&lt;/p&gt;

  &lt;ul style=&quot;line-height: 2.2; margin-bottom: 1.4rem; padding-left: 24px;&quot;&gt;
    &lt;li&gt;Families booking as a group (4–6 people), where manual entry is the most time-consuming&lt;/li&gt;
    &lt;li&gt;Devotees who book frequently and are tired of re-entering the same details every time&lt;/li&gt;
    &lt;li&gt;Anyone who has missed a slot due to slow form-filling&lt;/li&gt;
    &lt;li&gt;Pilgrims who want a stress-free, error-free booking experience&lt;/li&gt;
  &lt;/ul&gt;

  &lt;div class=&quot;divider&quot;&gt;✦&lt;/div&gt;

  &lt;!--CTA--&gt;
  &lt;div class=&quot;cta-box&quot;&gt;
    &lt;h3&gt;Ready to Book Smarter?&lt;/h3&gt;
    &lt;p&gt;Get the TT Devasthanam Booking Helper Chrome Extension from Daisy Mirthwood&#39;s Gumroad page and never scramble through a TTD booking form again.&lt;/p&gt;
    &lt;a class=&quot;cta-btn&quot; href=&quot;https://daisymirthwood.gumroad.com/l/xmfqfj&quot; target=&quot;_blank&quot;&gt;Get the Extension on Gumroad →&lt;/a&gt;
  &lt;/div&gt;

  &lt;h2&gt;Final Thoughts&lt;/h2&gt;

  &lt;p&gt;The TTD booking experience doesn&#39;t have to be stressful. The TT Devasthanam Booking Helper is a thoughtful, well-built tool that solves a very real and very specific problem — and it does it elegantly. It&#39;s not trying to be everything; it focuses on doing one thing exceptionally well: getting your details into the booking form faster and more accurately than any human can.&lt;/p&gt;

  &lt;p&gt;For devotees who plan regular pilgrimages to Tirumala, or even for those making their one big trip of the year, this extension is well worth adding to your Chrome browser. The few minutes spent setting it up will be repaid many times over on the morning those booking slots open.&lt;/p&gt;

  &lt;p&gt;🙏 &lt;em&gt;Jai Balaji — may your Darshan be blessed, and your booking go smoothly.&lt;/em&gt;&lt;/p&gt;

&lt;/article&gt;

&lt;footer class=&quot;blog-footer&quot;&gt;
  &lt;p&gt;Product by &lt;a href=&quot;https://daisymirthwood.gumroad.com/l/xmfqfj&quot; target=&quot;_blank&quot;&gt;Daisy Mirthwood on Gumroad&lt;/a&gt; &amp;nbsp;·&amp;nbsp; TT Devasthanam Booking Helper Chrome Extension&lt;/p&gt;
  &lt;p style=&quot;margin-top: 8px;&quot;&gt;This blog post is based on the official product description. This is not an official TTD product.&lt;/p&gt;
&lt;/footer&gt;


</content><link rel='replies' type='application/atom+xml' href='http://phpcodetutorials.blogspot.com/feeds/6318858418116236772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/270257753599767750/6318858418116236772' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/6318858418116236772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/6318858418116236772'/><link rel='alternate' type='text/html' href='http://phpcodetutorials.blogspot.com/2026/03/how-to-get-tirupati-temple-ticket.html' title='How to get Tirupati temple ticket'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/OjV9DkuwPYQ/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-270257753599767750.post-1042145973052706919</id><published>2024-04-05T23:15:00.004+05:30</published><updated>2024-04-05T23:15:50.208+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="API"/><category scheme="http://www.blogger.com/atom/ns#" term="chrome extension"/><category scheme="http://www.blogger.com/atom/ns#" term="openai"/><title type='text'>Create a Chrome extension using Manifest V3 to make API calls to OpenAI </title><content type='html'>&lt;p&gt;&lt;b&gt;&amp;nbsp;1.&lt;span&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;Create a Manifest File (manifest.json)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;div dir=&quot;auto&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;{&lt;/div&gt;&lt;div dir=&quot;auto&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&amp;nbsp; &quot;manifest_version&quot;: 3,&lt;/div&gt;&lt;div dir=&quot;auto&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&amp;nbsp; &quot;name&quot;: &quot;OpenAI Chrome Extension&quot;,&lt;/div&gt;&lt;div dir=&quot;auto&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&amp;nbsp; &quot;version&quot;: &quot;1.0&quot;,&lt;/div&gt;&lt;div dir=&quot;auto&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&amp;nbsp; &quot;permissions&quot;: [&quot;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://api.openai.com/*&amp;amp;source=gmail&amp;amp;ust=1712425140133000&amp;amp;usg=AOvVaw1s2YPf9_VicAf3NLtOqcis&quot; href=&quot;https://api.openai.com/*&quot; style=&quot;color: #1155cc;&quot; target=&quot;_blank&quot;&gt;https://api.openai.com/*&lt;/a&gt;&quot;],&lt;/div&gt;&lt;div dir=&quot;auto&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&amp;nbsp; &quot;action&quot;: {&lt;/div&gt;&lt;div dir=&quot;auto&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;default_popup&quot;: &quot;popup.html&quot;,&lt;/div&gt;&lt;div dir=&quot;auto&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;default_icon&quot;: {&lt;/div&gt;&lt;div dir=&quot;auto&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;16&quot;: &quot;icon.png&quot;,&lt;/div&gt;&lt;div dir=&quot;auto&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;48&quot;: &quot;icon.png&quot;,&lt;/div&gt;&lt;div dir=&quot;auto&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;128&quot;: &quot;icon.png&quot;&lt;/div&gt;&lt;div dir=&quot;auto&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/div&gt;&lt;div dir=&quot;auto&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&amp;nbsp; },&lt;/div&gt;&lt;div dir=&quot;auto&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&amp;nbsp; &quot;background&quot;: {&lt;/div&gt;&lt;div dir=&quot;auto&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;service_worker&quot;: &quot;background.js&quot;&lt;/div&gt;&lt;div dir=&quot;auto&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&amp;nbsp; }&lt;/div&gt;&lt;div dir=&quot;auto&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;}&lt;/div&gt;&lt;div dir=&quot;auto&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div dir=&quot;auto&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div dir=&quot;auto&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&lt;b&gt;2.&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;Create a Popup HTML File (popup.html)&lt;/b&gt;&lt;/div&gt;&lt;div dir=&quot;auto&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div dir=&quot;auto&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;lt;html lang=&quot;en&quot;&amp;gt;&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;lt;head&amp;gt;&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;nbsp; &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;nbsp; &amp;lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&amp;gt;&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;nbsp; &amp;lt;title&amp;gt;OpenAI Extension Popup&amp;lt;/title&amp;gt;&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;nbsp; &amp;lt;script src=&quot;popup.js&quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;lt;/head&amp;gt;&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;lt;body&amp;gt;&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;nbsp; &amp;lt;div id=&quot;response&quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;lt;/body&amp;gt;&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;lt;/html&amp;gt;&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;3.&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;Create a Popup JavaScript File (`popup.js`)&lt;/b&gt;&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&lt;div dir=&quot;auto&quot;&gt;async function fetchData() {&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;nbsp; try {&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;nbsp; &amp;nbsp; const response = await fetch(&#39;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://api.openai.com/v1/your_endpoint&amp;amp;source=gmail&amp;amp;ust=1712425140133000&amp;amp;usg=AOvVaw3BKIyQIPMMcPsmNNy2pwcl&quot; href=&quot;https://api.openai.com/v1/your_endpoint&quot; style=&quot;color: #1155cc;&quot; target=&quot;_blank&quot;&gt;https://api.openai.com/&lt;wbr&gt;&lt;/wbr&gt;v1/your_endpoint&lt;/a&gt;&#39;, {&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; method: &#39;POST&#39;,&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39;Authorization&#39;: &#39;Bearer YOUR_API_KEY&#39;,&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39;Content-Type&#39;: &#39;application/json&#39;&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; body: JSON.stringify({&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Your request body data&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; })&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;nbsp; &amp;nbsp; });&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;nbsp; &amp;nbsp; const data = await response.json();&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;nbsp; &amp;nbsp; document.getElementById(&#39;&lt;wbr&gt;&lt;/wbr&gt;response&#39;).textContent = JSON.stringify(data, null, 2);&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;nbsp; } catch (error) {&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;nbsp; &amp;nbsp; console.error(&#39;Error fetching data:&#39;, error);&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;nbsp; &amp;nbsp; document.getElementById(&#39;&lt;wbr&gt;&lt;/wbr&gt;response&#39;).textContent = &#39;Error fetching data&#39;;&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;nbsp; }&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;}&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;document.addEventListener(&#39;&lt;wbr&gt;&lt;/wbr&gt;DOMContentLoaded&#39;, fetchData);&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;4.&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;b&gt;Create a Background JavaScript File (background.js)&lt;/b&gt;&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;// This file is empty for now, but can be used for background tasks if needed&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;5. Replace `&quot;your_endpoint&quot;` with the appropriate endpoint from OpenAI&#39;s API and `&quot;YOUR_API_KEY&quot;` with your actual OpenAI API key.&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&lt;div dir=&quot;auto&quot;&gt;6. &lt;b&gt;Load the Extension in Chrome&lt;/b&gt;&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;nbsp; &amp;nbsp;- Open Chrome and go to `chrome://extensions/`.&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;nbsp; &amp;nbsp;- Enable Developer mode.&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&amp;nbsp; &amp;nbsp;- Click on &quot;Load unpacked&quot; and select the directory containing your extension files.&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;This is a basic setup to get you started. Make sure to handle errors, API key securely, and consider adding more features as needed.&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div dir=&quot;auto&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpcodetutorials.blogspot.com/feeds/1042145973052706919/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/270257753599767750/1042145973052706919' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/1042145973052706919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/1042145973052706919'/><link rel='alternate' type='text/html' href='http://phpcodetutorials.blogspot.com/2024/04/create-chrome-extension-using-manifest.html' title='Create a Chrome extension using Manifest V3 to make API calls to OpenAI '/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-270257753599767750.post-8779280632127520584</id><published>2022-12-14T12:45:00.005+05:30</published><updated>2024-04-06T12:26:48.200+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Angular"/><category scheme="http://www.blogger.com/atom/ns#" term="inheritance"/><category scheme="http://www.blogger.com/atom/ns#" term="typescript"/><title type='text'>Typescript inheritance example with code</title><content type='html'>&lt;h1 style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp;&lt;span&gt;Typescript inheritance example with code&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;Code example - &lt;a href=&quot;https://typescript-bc7fcz.stackblitz.io&quot;&gt;https://typescript-bc7fcz.stackblitz.io&lt;/a&gt;&lt;/span&gt;&lt;/h3&gt;&lt;div&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span class=&quot;style-scope yt-formatted-string&quot; dir=&quot;auto&quot; face=&quot;Roboto, Arial, sans-serif&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; margin: 0px; padding: 0px; white-space: pre-wrap;&quot;&gt;This video explains how to do inheritance in Typescript using examples.&lt;/span&gt;&lt;span class=&quot;style-scope yt-formatted-string&quot; dir=&quot;auto&quot; face=&quot;Roboto, Arial, sans-serif&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; margin: 0px; padding: 0px; white-space: pre-wrap;&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;style-scope yt-formatted-string&quot; dir=&quot;auto&quot; face=&quot;Roboto, Arial, sans-serif&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; margin: 0px; padding: 0px; white-space: pre-wrap;&quot;&gt;Code example - &lt;/span&gt;&lt;span face=&quot;Roboto, Arial, sans-serif&quot;&gt;&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;&lt;a href=&quot;https://stackblitz.com/edit/typescript-bc7fcz?file=index.ts&quot;&gt;https://stackblitz.com/edit/typescript-bc7fcz?file=index.ts&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;style-scope yt-formatted-string&quot; dir=&quot;auto&quot; face=&quot;Roboto, Arial, sans-serif&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; margin: 0px; padding: 0px; white-space: pre-wrap;&quot;&gt;&lt;a href=&quot;https://stackblitz.com/edit/typescript-bc7fcz?file=index.ts&quot; target=&quot;_blank&quot;&gt;
&lt;/a&gt;
First we will create a parent class called Person. This class has two properties first name and last name. Write a constructor method to set these two properties. We will also have two methods. One for getting the full name and another describe method.


Now the person class is ready. We are going to create an instance of this class using a new keyword. Using this instance we can call the two methods of Person class.
Now we will see how to create a child class using Typescript inheritance. Typescript uses a keyword &#39;Extends&#39; to inherit properties of another class. The constructor method of the child class should call super method , so that the parent constructor is invoked. Similar to parent class we can create an instance of child class . Since Student class is inherited from Person class, it can access its Parent class methods as well as its own methods.


Why do we use inheritance? We can use it for Method Overriding (so runtime polymorphism can be achieved). We can use it for Code Reusability.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span class=&quot;style-scope yt-formatted-string&quot; dir=&quot;auto&quot; face=&quot;Roboto, Arial, sans-serif&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; margin: 0px; padding: 0px; white-space: pre-wrap;&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;style-scope yt-formatted-string&quot; dir=&quot;auto&quot; face=&quot;Roboto, Arial, sans-serif&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; margin: 0px; padding: 0px; white-space: pre-wrap;&quot;&gt;First we will create a parent class called Person. This class has two properties first name and last name. Write a constructor method to set these two properties. We will also have two methods. One for getting the full name and another describe method.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span class=&quot;style-scope yt-formatted-string&quot; dir=&quot;auto&quot; face=&quot;Roboto, Arial, sans-serif&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; margin: 0px; padding: 0px; white-space: pre-wrap;&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;style-scope yt-formatted-string&quot; dir=&quot;auto&quot; face=&quot;Roboto, Arial, sans-serif&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; margin: 0px; padding: 0px; white-space: pre-wrap;&quot;&gt;Now the person class is ready. We are going to create an instance of this class using a new keyword. Using this instance we can call the two methods of Person class.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span class=&quot;style-scope yt-formatted-string&quot; dir=&quot;auto&quot; face=&quot;Roboto, Arial, sans-serif&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; margin: 0px; padding: 0px; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;style-scope yt-formatted-string&quot; dir=&quot;auto&quot; face=&quot;Roboto, Arial, sans-serif&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; margin: 0px; padding: 0px; white-space: pre-wrap;&quot;&gt;Now we will see how to create a child class using Typescript inheritance. Typescript uses a keyword &#39;Extends&#39; to inherit properties of another class. The constructor method of the child class should call super method , so that the parent constructor is invoked. Similar to parent class we can create an instance of child class . Since Student class is inherited from Person class, it can access its Parent class methods as well as its own methods.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span class=&quot;style-scope yt-formatted-string&quot; dir=&quot;auto&quot; face=&quot;Roboto, Arial, sans-serif&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; margin: 0px; padding: 0px; white-space: pre-wrap;&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;style-scope yt-formatted-string&quot; dir=&quot;auto&quot; face=&quot;Roboto, Arial, sans-serif&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; margin: 0px; padding: 0px; white-space: pre-wrap;&quot;&gt;Why do we use inheritance? We can use it for Method Overriding (so runtime polymorphism can be achieved). We can use it for Code Reusability.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;span&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; class=&quot;BLOG_video_class&quot; height=&quot;322&quot; src=&quot;https://www.youtube.com/embed/W0YwcWIgLr0&quot; width=&quot;400&quot; youtube-src-id=&quot;W0YwcWIgLr0&quot;&gt;&lt;/iframe&gt;&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpcodetutorials.blogspot.com/feeds/8779280632127520584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/270257753599767750/8779280632127520584' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/8779280632127520584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/8779280632127520584'/><link rel='alternate' type='text/html' href='http://phpcodetutorials.blogspot.com/2022/12/typescript-inheritance-example-with-code.html' title='Typescript inheritance example with code'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/W0YwcWIgLr0/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-270257753599767750.post-4992490955151306803</id><published>2022-12-08T09:53:00.005+05:30</published><updated>2022-12-08T10:27:53.088+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Angular"/><category scheme="http://www.blogger.com/atom/ns#" term="browsers"/><category scheme="http://www.blogger.com/atom/ns#" term="Chrome"/><category scheme="http://www.blogger.com/atom/ns#" term="Console.log"/><category scheme="http://www.blogger.com/atom/ns#" term="debugging"/><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="typescript"/><title type='text'>Formatting and styling console.log messages in web browser console </title><content type='html'>&lt;h2 style=&quot;text-align: left;&quot;&gt;Formatting and styling console.log messages in web browser console 


&lt;iframe allowfullscreen=&quot;&quot; class=&quot;BLOG_video_class&quot; height=&quot;322&quot; src=&quot;https://www.youtube.com/embed/rtC9xsH4pag&quot; width=&quot;400&quot; youtube-src-id=&quot;rtC9xsH4pag&quot;&gt;&lt;/iframe&gt;&lt;/h2&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpcodetutorials.blogspot.com/feeds/4992490955151306803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/270257753599767750/4992490955151306803' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/4992490955151306803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/4992490955151306803'/><link rel='alternate' type='text/html' href='http://phpcodetutorials.blogspot.com/2022/12/formatting-and-styling-consolelog.html' title='Formatting and styling console.log messages in web browser console '/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/rtC9xsH4pag/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-270257753599767750.post-8708009047558403617</id><published>2022-12-02T14:50:00.004+05:30</published><updated>2022-12-02T14:52:18.702+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="accessibility"/><category scheme="http://www.blogger.com/atom/ns#" term="Angular"/><category scheme="http://www.blogger.com/atom/ns#" term="Angular 14"/><category scheme="http://www.blogger.com/atom/ns#" term="code generation"/><category scheme="http://www.blogger.com/atom/ns#" term="code Splitting"/><category scheme="http://www.blogger.com/atom/ns#" term="cross platform"/><category scheme="http://www.blogger.com/atom/ns#" term="Features"/><category scheme="http://www.blogger.com/atom/ns#" term="Framework"/><category scheme="http://www.blogger.com/atom/ns#" term="Templates"/><title type='text'>Angular framework features</title><content type='html'>&lt;iframe class=&quot;BLOG_video_class&quot; allowfullscreen=&quot;&quot; youtube-src-id=&quot;aTSOF2WYFDk&quot; width=&quot;400&quot; height=&quot;322&quot; src=&quot;https://www.youtube.com/embed/aTSOF2WYFDk&quot;&gt;&lt;/iframe&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpcodetutorials.blogspot.com/feeds/8708009047558403617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/270257753599767750/8708009047558403617' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/8708009047558403617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/8708009047558403617'/><link rel='alternate' type='text/html' href='http://phpcodetutorials.blogspot.com/2022/12/angular-framework-features.html' title='Angular framework features'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/aTSOF2WYFDk/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-270257753599767750.post-2902966277020878153</id><published>2022-11-27T21:54:00.002+05:30</published><updated>2022-11-27T21:54:07.352+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="extension"/><category scheme="http://www.blogger.com/atom/ns#" term="Firefox"/><title type='text'>How to install your own extension in Firefox browser </title><content type='html'>How to install your own extension in Firefox browser .

Create your extension files or get a sample extension files from GITHUB. We are going to use Borderify extension. This extension add a red border around the mozilla website .



Once extension files are ready open a new tab and type about :  debugging. Click on the blue color This Firefox link button. This will take you to the Temporary extensions page. Click on Load temporary add on button. Browse and select any file from your extension folder. This will install the selected extension .

To test the extension open the mozilla.org website in the new tab. You can see a red color border around the website .

Download sample extensions from link  https://github.com/mdn/webextensions-examples/

&lt;iframe class=&quot;BLOG_video_class&quot; allowfullscreen=&quot;&quot; youtube-src-id=&quot;XqWMDv411k0&quot; width=&quot;600&quot; height=&quot;498&quot; src=&quot;https://www.youtube.com/embed/XqWMDv411k0&quot;&gt;&lt;/iframe&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpcodetutorials.blogspot.com/feeds/2902966277020878153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/270257753599767750/2902966277020878153' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/2902966277020878153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/2902966277020878153'/><link rel='alternate' type='text/html' href='http://phpcodetutorials.blogspot.com/2022/11/how-to-install-your-own-extension-in.html' title='How to install your own extension in Firefox browser '/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/XqWMDv411k0/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-270257753599767750.post-2056561489680501256</id><published>2022-11-25T20:16:00.005+05:30</published><updated>2022-12-08T10:27:37.202+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="extension"/><category scheme="http://www.blogger.com/atom/ns#" term="Live Priview"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio Code"/><title type='text'>Visual Studio Code - HTML live preview extension </title><content type='html'>&lt;h2 style=&quot;text-align: left;&quot;&gt;Visual Studio Code - HTML live preview extension 

&lt;iframe allowfullscreen=&quot;&quot; class=&quot;BLOG_video_class&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/IGtp47O3V4E&quot; width=&quot;320&quot; youtube-src-id=&quot;IGtp47O3V4E&quot;&gt;&lt;/iframe&gt;&lt;/h2&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpcodetutorials.blogspot.com/feeds/2056561489680501256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/270257753599767750/2056561489680501256' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/2056561489680501256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/2056561489680501256'/><link rel='alternate' type='text/html' href='http://phpcodetutorials.blogspot.com/2022/11/visual-studio-code-html-live-preview.html' title='Visual Studio Code - HTML live preview extension '/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/IGtp47O3V4E/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-270257753599767750.post-1389716023359894121</id><published>2022-11-20T10:28:00.003+05:30</published><updated>2022-11-20T10:28:38.586+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Angular"/><category scheme="http://www.blogger.com/atom/ns#" term="Angular 14"/><title type='text'>Angular 14 new features</title><content type='html'>&lt;iframe class=&quot;BLOG_video_class&quot; allowfullscreen=&quot;&quot; youtube-src-id=&quot;LNBng13nzK4&quot; width=&quot;400&quot; height=&quot;322&quot; src=&quot;https://www.youtube.com/embed/LNBng13nzK4&quot;&gt;&lt;/iframe&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpcodetutorials.blogspot.com/feeds/1389716023359894121/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/270257753599767750/1389716023359894121' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/1389716023359894121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/1389716023359894121'/><link rel='alternate' type='text/html' href='http://phpcodetutorials.blogspot.com/2022/11/angular-14-new-features.html' title='Angular 14 new features'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/LNBng13nzK4/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-270257753599767750.post-6746252142883709157</id><published>2022-11-13T11:31:00.003+05:30</published><updated>2022-12-08T10:27:05.732+05:30</updated><title type='text'>Best JavaScript editors 2023</title><content type='html'>&lt;h2 style=&quot;text-align: left;&quot;&gt;Best JavaScript editors 2023

&lt;/h2&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; class=&quot;BLOG_video_class&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/GRd5GrqKB08&quot; width=&quot;320&quot; youtube-src-id=&quot;GRd5GrqKB08&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpcodetutorials.blogspot.com/feeds/6746252142883709157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/270257753599767750/6746252142883709157' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/6746252142883709157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/6746252142883709157'/><link rel='alternate' type='text/html' href='http://phpcodetutorials.blogspot.com/2022/11/best-javascript-editors-2023.html' title='Best JavaScript editors 2023'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/GRd5GrqKB08/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-270257753599767750.post-1468770266245226315</id><published>2022-11-10T14:48:00.006+05:30</published><updated>2022-12-08T10:26:50.945+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Angular"/><category scheme="http://www.blogger.com/atom/ns#" term="Services"/><category scheme="http://www.blogger.com/atom/ns#" term="Singleton"/><title type='text'>Angular non singleton services</title><content type='html'>&lt;h2 style=&quot;text-align: left;&quot;&gt;&amp;nbsp;Angular non singleton services&lt;/h2&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; class=&quot;BLOG_video_class&quot; height=&quot;335&quot; src=&quot;https://www.youtube.com/embed/POzw3yIg5_8&quot; width=&quot;498&quot; youtube-src-id=&quot;POzw3yIg5_8&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;
&lt;iframe height=&quot;320px&quot; src=&quot;https://stackblitz.com/edit/angular-basic-service-shfqak?embed=1&amp;amp;file=src/app/hello.component.ts&amp;amp;view=editor&quot; width=&quot;100%&quot;&gt;&lt;/iframe&gt;
&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpcodetutorials.blogspot.com/feeds/1468770266245226315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/270257753599767750/1468770266245226315' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/1468770266245226315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/1468770266245226315'/><link rel='alternate' type='text/html' href='http://phpcodetutorials.blogspot.com/2022/11/angular-non-singleton-services.html' title='Angular non singleton services'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/POzw3yIg5_8/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-270257753599767750.post-4587945949889402932</id><published>2020-05-31T23:44:00.004+05:30</published><updated>2020-06-04T16:18:31.225+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="extension"/><category scheme="http://www.blogger.com/atom/ns#" term="Firefox"/><category scheme="http://www.blogger.com/atom/ns#" term="linkedin"/><title type='text'>LinkedIn Jobs export extension for Firefox</title><content type='html'>&lt;pre style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;iframe allow=&quot;accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/65eKuRR2Ub4&quot; width=&quot;560&quot;&gt;&lt;/iframe&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;https://addons.mozilla.org/en-US/firefox/addon/linked-jobs-export/&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/linked-jobs-export/&quot; target=&quot;_blank&quot;&gt;Get this extension free&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpcodetutorials.blogspot.com/feeds/4587945949889402932/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/270257753599767750/4587945949889402932' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/4587945949889402932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/4587945949889402932'/><link rel='alternate' type='text/html' href='http://phpcodetutorials.blogspot.com/2020/05/linkedin-jobs-export-extension-for.html' title='LinkedIn Jobs export extension for Firefox'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/65eKuRR2Ub4/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-270257753599767750.post-6047340289471539453</id><published>2020-05-15T14:30:00.002+05:30</published><updated>2020-05-15T14:30:52.583+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Angular"/><category scheme="http://www.blogger.com/atom/ns#" term="Nginx"/><title type='text'>Angular 8 app hosted in Nginx server gets 404 page when refreshed</title><content type='html'>&lt;b&gt;&lt;font size=&quot;6&quot;&gt;Angular 8 app hosted in Nginx server gets 404 page when refreshed&lt;/font&gt;&lt;/b&gt;&lt;div&gt;&lt;b&gt;&lt;font size=&quot;6&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;font size=&quot;6&quot;&gt;This is because of NGINX not able to find the index.html of Angular app&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;font size=&quot;6&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;font size=&quot;6&quot;&gt;modify the site-available/default config file of nginx like below&amp;nbsp;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;font size=&quot;6&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;font size=&quot;6&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;pre class=&quot;code-pre &quot; style=&quot;background: rgb(242, 242, 242); border-radius: 3px; box-sizing: border-box; direction: ltr; font-family: Consolas, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 14px; hyphens: none; line-height: 1.4em; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: normal; overflow: auto; padding: 1rem; text-shadow: none; word-break: normal;&quot;&gt;&lt;code style=&quot;background: 0px 0px; border-radius: 3px; box-sizing: inherit; direction: ltr; font-family: Consolas, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; hyphens: none; line-height: 22px; margin: 0px; padding: 0px; text-shadow: none; word-break: normal; word-spacing: normal;&quot;&gt;&lt;b&gt;&lt;font color=&quot;#0f9d58&quot;&gt;try_files $uri $uri/ /index.html;&lt;/font&gt;&lt;/b&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;pre class=&quot;code-pre &quot; style=&quot;background: rgb(242, 242, 242); border-radius: 3px; box-sizing: border-box; direction: ltr; font-family: Consolas, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 14px; hyphens: none; line-height: 1.4em; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: normal; overflow: auto; padding: 1rem; text-shadow: none; word-break: normal;&quot;&gt;&lt;code style=&quot;background: 0px 0px; border-radius: 3px; box-sizing: inherit; direction: ltr; font-family: Consolas, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; hyphens: none; line-height: 22px; margin: 0px; padding: 0px; text-shadow: none; word-break: normal; word-spacing: normal;&quot;&gt;&lt;font color=&quot;#545454&quot;&gt;server {
        listen 80;
        listen [::]:80;

        root /var/www/example.com/html;

    index index.html index.htm index.nginx-debian.html;

        server_name example.com www.example.com;

        location / {
            &lt;/font&gt;&lt;b&gt;&lt;font color=&quot;#0f9d58&quot;&gt;try_files $uri $uri/ /index.html;&lt;/font&gt;&lt;/b&gt;&lt;font color=&quot;#545454&quot;&gt;
         }
}&lt;/font&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpcodetutorials.blogspot.com/feeds/6047340289471539453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/270257753599767750/6047340289471539453' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/6047340289471539453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/6047340289471539453'/><link rel='alternate' type='text/html' href='http://phpcodetutorials.blogspot.com/2020/05/angular-8-app-hosted-in-nginx-server.html' title='Angular 8 app hosted in Nginx server gets 404 page when refreshed'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-270257753599767750.post-6170929838133921240</id><published>2020-05-08T23:53:00.005+05:30</published><updated>2020-06-18T11:16:43.245+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="browser add-on"/><title type='text'>Get Youtube thumbnail easily using Firefox Android extension</title><content type='html'>&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;Get Youtube thumbnail easily using Firefox Android extension.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;This extension is supported both on desktop and Android Firefox versions&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/yutube-thumb/&quot;&gt;https://addons.mozilla.org/en-US/firefox/addon/yutube-thumb/&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;font size=&quot;5&quot;&gt;Desktop version demo&lt;/font&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;iframe allow=&quot;accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/nMQ8ZlZln84&quot; width=&quot;560&quot;&gt;&lt;/iframe&gt;

&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-large;&quot;&gt;Mobile version demo&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; class=&quot;BLOG_video_class&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/N1MD5MaDOcw&quot; width=&quot;320&quot; youtube-src-id=&quot;N1MD5MaDOcw&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;a href=&quot;https://support.mozilla.org/en-US/kb/install-firefox-android-device-using-google-play&quot; target=&quot;_blank&quot;&gt;Get Firefox for Android&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre style=&quot;text-align: left;&quot;&gt;&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpcodetutorials.blogspot.com/feeds/6170929838133921240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/270257753599767750/6170929838133921240' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/6170929838133921240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/6170929838133921240'/><link rel='alternate' type='text/html' href='http://phpcodetutorials.blogspot.com/2020/05/get-youtube-thumbnail-easily-using.html' title='Get Youtube thumbnail easily using Firefox Android extension'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/nMQ8ZlZln84/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-270257753599767750.post-1664192338896286156</id><published>2020-05-08T16:42:00.001+05:30</published><updated>2020-05-30T16:15:50.443+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Redis"/><title type='text'>REDIS server security in Ubuntu or any other Linux OS</title><content type='html'>If Redis server is not configured correctly for security, it can be affected by malware and bots.&lt;br /&gt;
&lt;div&gt;
These malware make use of server CPU and memory. They can install cron jobs also which will run in background.&lt;br /&gt;
&lt;br /&gt;
If you abnormal usage of CPU , check the the process which is taking more CPU&lt;br /&gt;
&lt;br /&gt;
running this command &quot;top&quot;.&lt;br /&gt;
&lt;br /&gt;
If redis-server is the process taking more CPU. Enable logs for redis.&lt;br /&gt;
&lt;br /&gt;
By default logs are not enabled in redis.conf config file.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;overflow-wrap: break-word; white-space: pre-wrap;&quot;&gt;
# Specify the log file name. Also the empty string can be used to force&lt;br /&gt;# Redis to log on the standard output. Note that if you use standard&lt;br /&gt;# output for logging but daemonize, logs will be sent to /dev/null&lt;br /&gt;&lt;b&gt;logfile &quot;/your-path/redis.log&quot;&lt;/b&gt;&lt;/div&gt;
&lt;pre style=&quot;overflow-wrap: break-word; white-space: pre-wrap;&quot;&gt;
&lt;/pre&gt;
&lt;pre style=&quot;overflow-wrap: break-word; white-space: pre-wrap;&quot;&gt;
&lt;/pre&gt;
&lt;pre style=&quot;overflow-wrap: break-word; white-space: pre-wrap;&quot;&gt;&lt;b&gt;Also apply file permission and ownership to redis user for the file &lt;/b&gt;&lt;b&gt;redis.log&lt;/b&gt;&lt;/pre&gt;
&lt;pre style=&quot;overflow-wrap: break-word; white-space: pre-wrap;&quot;&gt;
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
There are many ways you can make REDIS server&amp;nbsp; secure.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;blockquote style=&quot;border: none; margin: 0 0 0 40px; padding: 0px;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
1. First thing is use REDIS as localhost , never attach any public IP to it.&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;use&amp;nbsp;configuration edit your redis.conf file search and fine bind&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;bind 127.0.0.1&amp;nbsp;&lt;/b&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; 2. Second important thing is enable password for Redis&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; edit redis.conf&amp;nbsp; file&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;b&gt;requirepassword &amp;lt;strong password&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; 3. Disble dangerous Redis CLI commands&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;in redis.conf search for rename-command&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;rename-command CONFIG &quot;&quot;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;blockquote style=&quot;border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;&quot;&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;&amp;nbsp; rename-command BGREWRITEAOF &quot;&quot;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;&amp;nbsp; rename-command BGSAVE &quot;&quot;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;&amp;nbsp; rename-command SAVE &quot;&quot;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;&amp;nbsp; rename-command SPOP &quot;&quot;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;&amp;nbsp; rename-command SREM &quot;&quot;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;&amp;nbsp; rename-command RENAME &quot;&quot;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;&amp;nbsp; rename-command DEBUG &quot;&quot;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;&amp;nbsp; rename-command FLUSHDB &quot;&quot;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;&amp;nbsp; rename-command FLUSHALL &quot;&quot;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;&amp;nbsp; rename-command KEYS &quot;&quot;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;&amp;nbsp; rename-command PEXPIRE &quot;&quot;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;&amp;nbsp; rename-command DEL &quot;&quot;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;&amp;nbsp; rename-command SHUTDOWN &quot;&quot;&lt;/b&gt;&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://phpcodetutorials.blogspot.com/feeds/1664192338896286156/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/270257753599767750/1664192338896286156' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/1664192338896286156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/1664192338896286156'/><link rel='alternate' type='text/html' href='http://phpcodetutorials.blogspot.com/2020/05/redis-server-security-in-ubuntu-or-any.html' title='REDIS server security in Ubuntu or any other Linux OS'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-270257753599767750.post-4553557178194402506</id><published>2020-04-25T16:12:00.002+05:30</published><updated>2020-04-25T18:47:30.445+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="chrome addon"/><category scheme="http://www.blogger.com/atom/ns#" term="Chrome browser extension"/><category scheme="http://www.blogger.com/atom/ns#" term="chrome extension"/><category scheme="http://www.blogger.com/atom/ns#" term="extension"/><category scheme="http://www.blogger.com/atom/ns#" term="Website blocker"/><title type='text'>Instant website blocker</title><content type='html'>Instant website blocker chrome extension allows user to block any website.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; class=&quot;BLOG_video_class&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/GnVv_Cvnk-w&quot; width=&quot;320&quot; youtube-src-id=&quot;GnVv_Cvnk-w&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://www.anrdoezrs.net/links/100004901/type/dlg/https://www.fiverr.com/sukeshk/sell-ready-to-use-browser-extension?utm_campaign=gigs_show&amp;amp;utm_medium=shared&amp;amp;utm_source=copy_link&amp;amp;utm_term=p3wdxo&quot; target=&quot;_blank&quot;&gt;&lt;font size=&quot;6&quot;&gt;Buy now&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpcodetutorials.blogspot.com/feeds/4553557178194402506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/270257753599767750/4553557178194402506' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/4553557178194402506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/4553557178194402506'/><link rel='alternate' type='text/html' href='http://phpcodetutorials.blogspot.com/2020/04/instant-website-blocker.html' title='Instant website blocker'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/GnVv_Cvnk-w/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-270257753599767750.post-7239604203283332082</id><published>2020-04-16T18:02:00.002+05:30</published><updated>2020-04-25T16:13:30.869+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="chrome addon"/><category scheme="http://www.blogger.com/atom/ns#" term="Chrome browser extension"/><category scheme="http://www.blogger.com/atom/ns#" term="chrome extension"/><category scheme="http://www.blogger.com/atom/ns#" term="extension"/><category scheme="http://www.blogger.com/atom/ns#" term="Firefox"/><category scheme="http://www.blogger.com/atom/ns#" term="Website blocker"/><title type='text'>Firefox addon for Android</title><content type='html'>https://addons.mozilla.org/en-US/android/addon/panic-button-ballachy/&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This small Firefox Android extension help users to close all opened tab with single click.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpcodetutorials.blogspot.com/feeds/7239604203283332082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/270257753599767750/7239604203283332082' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/7239604203283332082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/7239604203283332082'/><link rel='alternate' type='text/html' href='http://phpcodetutorials.blogspot.com/2020/04/firefox-addon-for-abdroid.html' title='Firefox addon for Android'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-270257753599767750.post-7228925293565066154</id><published>2020-04-08T23:06:00.000+05:30</published><updated>2020-04-26T21:50:15.338+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="chrome addon"/><category scheme="http://www.blogger.com/atom/ns#" term="Chrome browser extension"/><category scheme="http://www.blogger.com/atom/ns#" term="chrome extension"/><category scheme="http://www.blogger.com/atom/ns#" term="extension"/><category scheme="http://www.blogger.com/atom/ns#" term="Website blocker"/><title type='text'>OSClass plugin - publish any HTML content from Admin panel</title><content type='html'>&lt;b&gt;OSClass plugin - publish any HTML content from Admin panel&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;https://keralastore.online/software-and-services/software-apps-plugins/osclass-plugin-for-custom-html-field_49&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;/b&gt;
&lt;b&gt;&lt;a href=&quot;https://keralastore.online/software-and-services/software-apps-plugins/osclass-plugin-for-custom-html-field_49&quot;&gt;Download&lt;/a&gt;&lt;/b&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpcodetutorials.blogspot.com/feeds/7228925293565066154/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/270257753599767750/7228925293565066154' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/7228925293565066154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/7228925293565066154'/><link rel='alternate' type='text/html' href='http://phpcodetutorials.blogspot.com/2020/04/osclass-plugin-publish-any-html-content.html' title='OSClass plugin - publish any HTML content from Admin panel'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-270257753599767750.post-2552092963799989271</id><published>2020-04-07T22:12:00.001+05:30</published><updated>2020-04-25T16:13:30.853+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="chrome addon"/><category scheme="http://www.blogger.com/atom/ns#" term="Chrome browser extension"/><category scheme="http://www.blogger.com/atom/ns#" term="chrome extension"/><category scheme="http://www.blogger.com/atom/ns#" term="extension"/><category scheme="http://www.blogger.com/atom/ns#" term="Website blocker"/><title type='text'>ZIK analytics chrome extension</title><content type='html'>&lt;font size=&quot;4&quot;&gt;ZIK analytics chrome extension&lt;/font&gt;&lt;div&gt;&lt;font size=&quot;4&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size=&quot;4&quot;&gt;Using this extension users can export the search results from&amp;nbsp;&lt;/font&gt;&lt;a href=&quot;https://www.zikanalytics.com/&quot;&gt;https://www.zikanalytics.com/&lt;/a&gt;&lt;font size=&quot;4&quot;&gt;&amp;nbsp;website&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size=&quot;4&quot;&gt;The extension collect multiple pages data and export on a single click.&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size=&quot;4&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size=&quot;4&quot;&gt;Watch video below&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size=&quot;4&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size=&quot;4&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size=&quot;4&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size=&quot;4&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/PEme5a-nauY&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen&gt;&lt;/iframe&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpcodetutorials.blogspot.com/feeds/2552092963799989271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/270257753599767750/2552092963799989271' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/2552092963799989271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/2552092963799989271'/><link rel='alternate' type='text/html' href='http://phpcodetutorials.blogspot.com/2020/04/zik-analytics-chrome-extension.html' title='ZIK analytics chrome extension'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/PEme5a-nauY/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-270257753599767750.post-4274488001074361923</id><published>2020-03-11T11:57:00.002+05:30</published><updated>2020-04-25T16:13:30.856+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="chrome addon"/><category scheme="http://www.blogger.com/atom/ns#" term="Chrome browser extension"/><category scheme="http://www.blogger.com/atom/ns#" term="chrome extension"/><category scheme="http://www.blogger.com/atom/ns#" term="extension"/><category scheme="http://www.blogger.com/atom/ns#" term="Website blocker"/><title type='text'>IONIC 4 app not connecting to API running in Android device</title><content type='html'>&lt;h2&gt;
IONIC 4 app not connecting to API running in Android device&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Go to&amp;nbsp;\resources\android\xml\&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Open&amp;nbsp;network_security_config.xml&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Include domain below&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;lt;domain includeSubdomains=&quot;true&quot;&amp;gt;Your API IP or domain &amp;lt;/domain&amp;gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://phpcodetutorials.blogspot.com/feeds/4274488001074361923/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/270257753599767750/4274488001074361923' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/4274488001074361923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/4274488001074361923'/><link rel='alternate' type='text/html' href='http://phpcodetutorials.blogspot.com/2020/03/ionic-4-app-not-connecting-to-api.html' title='IONIC 4 app not connecting to API running in Android device'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-270257753599767750.post-3936368108872195452</id><published>2020-03-11T11:53:00.001+05:30</published><updated>2020-04-25T16:13:30.855+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="chrome addon"/><category scheme="http://www.blogger.com/atom/ns#" term="Chrome browser extension"/><category scheme="http://www.blogger.com/atom/ns#" term="chrome extension"/><category scheme="http://www.blogger.com/atom/ns#" term="extension"/><category scheme="http://www.blogger.com/atom/ns#" term="Website blocker"/><title type='text'>Empty List Of Devices Attached via USB Debugging on Windows</title><content type='html'>adb devices&lt;br /&gt;
&lt;br /&gt;
command not returning any devices&lt;br /&gt;
&lt;br /&gt;
try below things&lt;br /&gt;
&lt;br /&gt;
1) install USB driver for your devices&lt;br /&gt;
2) Enable USB debugging in your android phone&lt;br /&gt;
3) Reconnect the phone and run adb devices again</content><link rel='replies' type='application/atom+xml' href='http://phpcodetutorials.blogspot.com/feeds/3936368108872195452/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/270257753599767750/3936368108872195452' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/3936368108872195452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/3936368108872195452'/><link rel='alternate' type='text/html' href='http://phpcodetutorials.blogspot.com/2020/03/empty-list-of-devices-attached-via-usb.html' title='Empty List Of Devices Attached via USB Debugging on Windows'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-270257753599767750.post-279710830994196049</id><published>2019-12-06T12:15:00.002+05:30</published><updated>2020-04-25T16:13:30.850+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="chrome addon"/><category scheme="http://www.blogger.com/atom/ns#" term="Chrome browser extension"/><category scheme="http://www.blogger.com/atom/ns#" term="chrome extension"/><category scheme="http://www.blogger.com/atom/ns#" term="extension"/><category scheme="http://www.blogger.com/atom/ns#" term="Website blocker"/><title type='text'>Angular 2+ how to share same ajax response with multiple components</title><content type='html'>&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/groverkimi/eb24a88c54393aed2f33ae1aa8d176ea.js&quot;&gt;&lt;/script&gt;
&lt;span style=&quot;background-color: #999999;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #999999;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #999999;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;h4&gt;
&lt;span style=&quot;background-color: white; color: blue;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Create a service like above.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;The line&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;h4&gt;
&lt;span style=&quot;background-color: white; color: blue;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;import&amp;nbsp;&lt;/span&gt;shareReplay&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&amp;nbsp; from rxjs&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;h4&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;import { share, shareReplay } from &#39;rxjs/internal/operators&#39;;&amp;nbsp;&lt;/span&gt;&lt;/h4&gt;
&lt;h4&gt;
&lt;span style=&quot;background-color: white; color: blue;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px; white-space: pre;&quot;&gt;this.profileObservable = &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;h4&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; color: blue; font-size: 12px; white-space: pre;&quot;&gt;this.http.get(environment.APIEndpoint + &#39;userProfile&#39;).pipe(shareReplay());&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;h4&gt;
&lt;span style=&quot;background-color: white; color: blue;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;color: #24292e;&quot;&gt;&lt;span style=&quot;font-size: 12px; white-space: pre;&quot;&gt;create a shareable HTTP&lt;/span&gt; &lt;span style=&quot;font-size: 12px; white-space: pre;&quot;&gt;Observable. This can used by any component to get the response.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;h4&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; color: blue; font-size: 12px; white-space: pre;&quot;&gt;Only one ajax request will trigger for all the request to this service.&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #24292e; font-family: , &amp;quot;consolas&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;menlo&amp;quot; , monospace; font-size: 12px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #24292e; font-family: , &amp;quot;consolas&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;menlo&amp;quot; , monospace; font-size: 12px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpcodetutorials.blogspot.com/feeds/279710830994196049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/270257753599767750/279710830994196049' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/279710830994196049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/279710830994196049'/><link rel='alternate' type='text/html' href='http://phpcodetutorials.blogspot.com/2019/12/angular-2-how-to-share-same-ajax.html' title='Angular 2+ how to share same ajax response with multiple components'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-270257753599767750.post-7903075179384810716</id><published>2019-11-22T23:38:00.001+05:30</published><updated>2020-05-23T23:00:10.641+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="chrome addon"/><category scheme="http://www.blogger.com/atom/ns#" term="Chrome browser extension"/><category scheme="http://www.blogger.com/atom/ns#" term="chrome extension"/><category scheme="http://www.blogger.com/atom/ns#" term="CSV"/><category scheme="http://www.blogger.com/atom/ns#" term="extension"/><category scheme="http://www.blogger.com/atom/ns#" term="Firefox"/><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="JIRA"/><category scheme="http://www.blogger.com/atom/ns#" term="Website blocker"/><title type='text'>Firefox extension : JIRA dashboard ticket export to CSV file</title><content type='html'>&lt;font face=&quot;helvetica&quot; size=&quot;4&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #783f04; font-family: verdana, sans-serif;&quot;&gt;Firefox extension for JIRA - Export data as CSV&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #660000; font-family: verdana, sans-serif;&quot;&gt;This Firefox extension will export data from a JIRA dashboard to CSV file.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #660000; font-family: verdana, sans-serif;&quot;&gt;This will be easy option for JIRA users to quicky copy the list of tickets to email or excel&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #660000;&quot;&gt;&lt;span style=&quot;color: #783f04; font-family: verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #783f04; font-family: verdana, sans-serif;&quot;&gt;This extension allow user to export active sprints tickets to a CSV file.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #660000;&quot;&gt;&lt;span style=&quot;color: #783f04; font-family: verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #783f04; font-family: verdana, sans-serif;&quot;&gt;Update :&amp;nbsp;Latest version export JIRA tickets from Active Sprints board and Backlogs .&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/font&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: verdana, sans-serif;&quot;&gt;&lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/jira-exporter/?src=tech-blog&quot;&gt;https://addons.mozilla.org/en-US/firefox/addon/jira-exporter/?src=tech-blog&lt;/a&gt;&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: verdana, sans-serif;&quot;&gt;&lt;span id=&quot;goog_2048714370&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://draft.blogger.com/&quot;&gt;&lt;/a&gt;&lt;span id=&quot;goog_2048714371&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face=&quot;verdana, sans-serif&quot;&gt;&lt;br /&gt;&lt;/font&gt;
&lt;span style=&quot;font-family: verdana, sans-serif;&quot;&gt;&lt;a href=&quot;http://www.anrdoezrs.net/click-100002752-13144780&quot; target=&quot;_blank&quot;&gt;Best Programmers For Hire from fiverr.com! Chat With Programmers &amp;amp; Find The One Right For Your Project. Hire Now and Pay Less!&lt;/a&gt;&lt;img border=&quot;0&quot; height=&quot;1&quot; src=&quot;//www.tqlkg.com/image-100002752-13144780&quot; width=&quot;1&quot; /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;font face=&quot;helvetica&quot; size=&quot;4&quot;&gt;&lt;b&gt;Release note: Version 1.2.0&lt;br /&gt;&lt;br /&gt;This version include copy to clipboard feature. 
This will allow user to copy individual ticket details to clipboard from
 the backlogs.&lt;br /&gt;&lt;br /&gt;Click on the Copy button next to summary in backlogs. Paste the copied details any where you want.&lt;/b&gt;&lt;br /&gt;&lt;/font&gt;
&lt;br /&gt;
&lt;h2&gt;
watch video&lt;/h2&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&quot;&quot; class=&quot;YOUTUBE-iframe-video&quot; data-thumbnail-src=&quot;https://i.ytimg.com/vi/yKbO_U2ltHU/0.jpg&quot; frameborder=&quot;0&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/yKbO_U2ltHU?feature=player_embedded&quot; width=&quot;320&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://serconmp.com/afu.php?zoneid=2952557&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;480&quot; data-original-width=&quot;508&quot; height=&quot;603&quot; src=&quot;https://addons.cdn.mozilla.net/user-media/previews/thumbs/228/228564.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://serconmp.com/afu.php?zoneid=2952557&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;480&quot; data-original-width=&quot;583&quot; height=&quot;526&quot; src=&quot;https://addons.cdn.mozilla.net/user-media/previews/thumbs/228/228565.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpcodetutorials.blogspot.com/feeds/7903075179384810716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/270257753599767750/7903075179384810716' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/7903075179384810716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/7903075179384810716'/><link rel='alternate' type='text/html' href='http://phpcodetutorials.blogspot.com/2019/11/firefox-extension-jira-dashboard-ticket.html' title='Firefox extension : JIRA dashboard ticket export to CSV file'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/yKbO_U2ltHU/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-270257753599767750.post-7337921918386112322</id><published>2019-11-20T17:58:00.003+05:30</published><updated>2020-04-25T16:13:30.870+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="chrome addon"/><category scheme="http://www.blogger.com/atom/ns#" term="Chrome browser extension"/><category scheme="http://www.blogger.com/atom/ns#" term="chrome extension"/><category scheme="http://www.blogger.com/atom/ns#" term="events"/><category scheme="http://www.blogger.com/atom/ns#" term="extension"/><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="Website blocker"/><title type='text'>JavaScript: Onchange handler not trigger for dropdown using JavaScript</title><content type='html'>Lets say if you are trying to trigger onchange handler of a dropdown using javaScript or jQuery and if it is not working properly

try the below code 

&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;lang-js prettyprint prettyprinted&quot; style=&quot;background-color: #eff0f1; border-radius: 3px; border: 0px; box-sizing: inherit; color: #393318; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 1em; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 12px 8px; vertical-align: baseline; width: auto;&quot;&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; box-sizing: inherit; color: #101094; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt; changeEvent &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt; document&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;createEvent&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; box-sizing: inherit; color: #7d2727; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;&quot;HTMLEvents&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;);&lt;/span&gt;&lt;/pre&gt;
&lt;pre class=&quot;lang-js prettyprint prettyprinted&quot; style=&quot;background-color: #eff0f1; border-radius: 3px; border: 0px; box-sizing: inherit; color: #393318; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 1em; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 12px 8px; vertical-align: baseline; width: auto;&quot;&gt;&lt;code style=&quot;border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;changeEvent&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;initEvent&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; box-sizing: inherit; color: #7d2727; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&quot;change&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; box-sizing: inherit; color: #101094; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; box-sizing: inherit; color: #101094; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;);&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;lang-js prettyprint prettyprinted&quot; style=&quot;background-color: #eff0f1; border-radius: 3px; border: 0px; box-sizing: inherit; color: #393318; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 1em; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 12px 8px; vertical-align: baseline; width: auto;&quot;&gt;&lt;code style=&quot;border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;
document&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;getElementsByName&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; box-sizing: inherit; color: #7d2727; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&quot;country&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;)[&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; box-sizing: inherit; color: #7d2727; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;].&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;dispatchEvent&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;changeEvent&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;);&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
</content><link rel='replies' type='application/atom+xml' href='http://phpcodetutorials.blogspot.com/feeds/7337921918386112322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/270257753599767750/7337921918386112322' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/7337921918386112322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/7337921918386112322'/><link rel='alternate' type='text/html' href='http://phpcodetutorials.blogspot.com/2019/11/javascript-onchange-handler-not-trigger.html' title='JavaScript: Onchange handler not trigger for dropdown using JavaScript'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-270257753599767750.post-5505003741253778925</id><published>2019-11-16T20:54:00.000+05:30</published><updated>2020-04-25T16:13:30.862+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="chrome addon"/><category scheme="http://www.blogger.com/atom/ns#" term="Chrome browser extension"/><category scheme="http://www.blogger.com/atom/ns#" term="chrome extension"/><category scheme="http://www.blogger.com/atom/ns#" term="extension"/><category scheme="http://www.blogger.com/atom/ns#" term="Website blocker"/><title type='text'>Property Radar chrome extension for copying contact numbers</title><content type='html'>&lt;a href=&quot;https://www.propertyradar.com/&quot;&gt;https://www.propertyradar.com/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Property Radar chrome extension for copying contact numbers &lt;a href=&quot;https://www.kqzyfj.com/click-100002752-13679532?url=https%3A%2F%2Fwww.ebooks.com%2Fcj.asp%3FIID%3D95873770%26fc%3DCA&amp;amp;cjsku=95873770&quot; target=&quot;_blank&quot;&gt;
Learn JavaScript &lt;/a&gt;&lt;img border=&quot;0&quot; height=&quot;1&quot; src=&quot;//www.lduhtrp.net/image-100002752-13679532&quot; width=&quot;1&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&quot;&quot; class=&quot;YOUTUBE-iframe-video&quot; data-thumbnail-src=&quot;https://i.ytimg.com/vi/I7iKYX8eEf4/0.jpg&quot; frameborder=&quot;0&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/I7iKYX8eEf4?feature=player_embedded&quot; width=&quot;320&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpcodetutorials.blogspot.com/feeds/5505003741253778925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/270257753599767750/5505003741253778925' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/5505003741253778925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/5505003741253778925'/><link rel='alternate' type='text/html' href='http://phpcodetutorials.blogspot.com/2019/11/property-radar-chrome-extension-for.html' title='Property Radar chrome extension for copying contact numbers'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/I7iKYX8eEf4/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-270257753599767750.post-8808072076541191575</id><published>2019-11-05T23:54:00.000+05:30</published><updated>2020-04-25T16:13:30.874+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="chrome addon"/><category scheme="http://www.blogger.com/atom/ns#" term="Chrome browser extension"/><category scheme="http://www.blogger.com/atom/ns#" term="chrome extension"/><category scheme="http://www.blogger.com/atom/ns#" term="extension"/><category scheme="http://www.blogger.com/atom/ns#" term="linkedin"/><category scheme="http://www.blogger.com/atom/ns#" term="Website blocker"/><title type='text'>LinkedIn Jobs Chrome extension</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&quot;&quot; class=&quot;YOUTUBE-iframe-video&quot; data-thumbnail-src=&quot;https://i.ytimg.com/vi/4FUqaVvjd1Q/0.jpg&quot; frameborder=&quot;0&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/4FUqaVvjd1Q?feature=player_embedded&quot; width=&quot;320&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
The chrome extension scan each job in search results from linkedIn and export as csv file.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
Price : $10 contact here&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpcodetutorials.blogspot.com/feeds/8808072076541191575/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/270257753599767750/8808072076541191575' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/8808072076541191575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/270257753599767750/posts/default/8808072076541191575'/><link rel='alternate' type='text/html' href='http://phpcodetutorials.blogspot.com/2019/11/linkedin-jobs-chrome-extension.html' title='LinkedIn Jobs Chrome extension'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/4FUqaVvjd1Q/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry></feed>