Chrome మరియు Firefox మధ్య ప్రాక్సీ ఎక్స్టెన్షన్లను పోర్ట్ చేయడం
Firefox మరియు Chrome ఒకేలాంటి పేర్లతో ఎక్స్టెన్షన్ APIలను అందిస్తాయి, కానీ వాటి కాన్ఫిగరేషన్ నమూనాలు భిన్నం. namespace మాత్రమే కాదు, రూటింగ్ విధానాన్ని పోర్ట్ చేయండి.
chrome ను browser గా పేరు మార్చడం ప్రాక్సీ ఎక్స్టెన్షన్ యొక్క పూర్తి పోర్ట్ కాదు.
Chrome యొక్క ఫిక్స్డ్-సర్వర్ కాన్ఫిగరేషన్ mode మరియు rules ఆబ్జెక్ట్ను ఉపయోగిస్తుంది. Firefox తన స్వంత గ్లోబల్ ప్రాక్సీ సెట్టింగ్స్ ఇంటర్ఫేస్ మరియు ప్రతి అభ్యర్థనకు proxy.onRequest APIని అందిస్తుంది. సమాన పేర్లు వాటి ఇన్పుట్ ఆబ్జెక్ట్లను పరస్పరం మార్చుకోగలిగేవిగా చేయవు.
మీరు వ్యక్తపరచాలనుకునే విధానం నుండి ప్రారంభించండి: ఒక స్థిర ఎండ్పాయింట్, PAC కాన్ఫిగరేషన్, లేదా ప్రతి అభ్యర్థనకు విడిగా ఎంచుకున్న మార్గం. తర్వాత ప్రతి బ్రౌజర్కు డాక్యుమెంట్ చేయబడిన ఇంటర్ఫేస్ను ఉపయోగించండి.
Firefox యొక్క ప్రతి-అభ్యర్థన శ్రోత ఎక్స్టెన్షన్ కోడ్ నుండి ప్రాక్సీ సమాచారాన్ని తిరిగి ఇవ్వగలదు. దీనికి ప్రాక్సీ అనుమతి మరియు అడ్డగించిన అభ్యర్థనలకు తగిన host యాక్సెస్ అవసరం. ఇది Chrome యొక్క ఫిక్స్డ్-సర్వర్ సెట్టింగ్స్ ఆబ్జెక్ట్ను కాపీ చేసి బ్రౌజర్ ప్రతి ఫీల్డ్ను గుర్తిస్తుందని ఆశించడానికి భిన్నమైన డిజైన్.
మద్దతు ఉన్న Firefox వెర్షన్ మరియు manifest అవసరాలను కూడా తనిఖీ చేయండి. proxy.register() ఉపయోగించే పాత ఉదాహరణలు మునుపటి APIని వివరిస్తాయి, అవి ప్రస్తుత ఎక్స్టెన్షన్కు పునాది కాకూడదు.
భాగస్వామ్య విధాన డేటాను బ్రౌజర్-నిర్దిష్ట అనుసరణ నుండి వేరుగా ఉంచండి. పరీక్షలు మరియు డయాగ్నస్టిక్స్ ప్రతి బ్రౌజర్లో ఒక గమ్యానికి ఎంచుకున్న మార్గాన్ని చూపాలి, ఉద్దేశపూర్వకంగా చేసిన నేరుగా ఫలితంతో సహా. చెల్లుబాటు అయ్యే manifest మరియు లోపం విసరని API కాల్ కేవలం ప్రారంభం.