From a065e04d529da1d847b5062a12c46d916408bf32 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 21:46:22 -0500 Subject: update based on https://github.com/mdn/yari/issues/2028 --- files/vi/_wikihistory.json | 2375 -------------------- files/vi/archive/b2g_os/index.html | 218 -- .../b2g_os/platform/gaia/hacking/index.html | 332 --- files/vi/archive/b2g_os/platform/gaia/index.html | 62 - files/vi/archive/b2g_os/platform/index.html | 82 - files/vi/archive/b2g_os/simulator/index.html | 60 - files/vi/archive/css3/index.html | 972 -------- files/vi/archive/index.html | 20 - files/vi/archive/mdn/index.html | 20 - files/vi/archive/mozilla/index.html | 13 - files/vi/mozilla/connect/index.html | 128 -- files/vi/new_compatibility_tables_beta/index.html | 26 - files/vi/tools/webide/index.html | 34 - .../vi/web/css/-ms-scroll-snap-points-y/index.html | 89 - .../global_objects/object/observe/index.html | 193 -- files/vi/zones/index.html | 66 - 16 files changed, 4690 deletions(-) delete mode 100644 files/vi/_wikihistory.json delete mode 100644 files/vi/archive/b2g_os/index.html delete mode 100644 files/vi/archive/b2g_os/platform/gaia/hacking/index.html delete mode 100644 files/vi/archive/b2g_os/platform/gaia/index.html delete mode 100644 files/vi/archive/b2g_os/platform/index.html delete mode 100644 files/vi/archive/b2g_os/simulator/index.html delete mode 100644 files/vi/archive/css3/index.html delete mode 100644 files/vi/archive/index.html delete mode 100644 files/vi/archive/mdn/index.html delete mode 100644 files/vi/archive/mozilla/index.html delete mode 100644 files/vi/mozilla/connect/index.html delete mode 100644 files/vi/new_compatibility_tables_beta/index.html delete mode 100644 files/vi/tools/webide/index.html delete mode 100644 files/vi/web/css/-ms-scroll-snap-points-y/index.html delete mode 100644 files/vi/web/javascript/reference/global_objects/object/observe/index.html delete mode 100644 files/vi/zones/index.html (limited to 'files/vi') diff --git a/files/vi/_wikihistory.json b/files/vi/_wikihistory.json deleted file mode 100644 index 8b980b9877..0000000000 --- a/files/vi/_wikihistory.json +++ /dev/null @@ -1,2375 +0,0 @@ -{ - "Bản_Kê_Khai_Cài_Đặt": { - "modified": "2019-03-24T00:04:37.878Z", - "contributors": [ - "ethertank", - "kimkha" - ] - }, - "DOM_Inspector": { - "modified": "2019-01-16T16:31:31.933Z", - "contributors": [ - "ThornyLong" - ] - }, - "Labs-tab": { - "modified": "2019-01-16T13:28:54.736Z", - "contributors": [ - "Hakuna" - ] - }, - "Learn": { - "modified": "2020-07-16T22:43:49.278Z", - "contributors": [ - "khoipro", - "jasonwest", - "SphinxKnight", - "svarlamov", - "daonhut", - "vunamhung", - "summerpupil", - "trannguyenhb", - "httrung91", - "jaxILUMQ", - "sugudkendy", - "tunggnu", - "Thokaka92", - "kscarfone" - ] - }, - "Learn/Accessibility": { - "modified": "2020-07-16T22:40:01.361Z", - "contributors": [ - "vunamhung" - ] - }, - "Learn/CSS": { - "modified": "2020-09-13T13:09:05.761Z", - "contributors": [ - "letrung02082000", - "vunamhung", - "suterj" - ] - }, - "Learn/CSS/Building_blocks": { - "modified": "2020-07-22T03:33:46.464Z", - "contributors": [ - "chrisdavidmills" - ] - }, - "Learn/CSS/Building_blocks/The_box_model": { - "modified": "2020-07-26T20:09:58.688Z", - "contributors": [ - "luongvanphuc" - ] - }, - "Learn/CSS/First_steps": { - "modified": "2020-08-31T06:34:16.980Z", - "contributors": [ - "lkanz181" - ] - }, - "Learn/Common_questions": { - "modified": "2020-07-16T22:35:28.026Z", - "contributors": [ - "JeffD" - ] - }, - "Learn/Common_questions/Internet_lam_viec_nh_the_nao": { - "modified": "2020-07-16T22:35:39.021Z", - "contributors": [ - "dev-luonglq" - ] - }, - "Learn/Common_questions/What_is_a_web_server": { - "modified": "2020-07-16T22:35:32.212Z", - "contributors": [ - "Clone-Code", - "thanhvk" - ] - }, - "Learn/Common_questions/thiet_lap_web_mang_noi_bo": { - "modified": "2020-07-16T22:35:53.848Z", - "contributors": [ - "namphong124563", - "trannguyenhb" - ] - }, - "Learn/Dong_gop_cho_khu_vuc_hoc_tap_tren_MDN": { - "modified": "2020-07-16T22:33:47.224Z", - "contributors": [ - "SphinxKnight", - "vunamhung" - ] - }, - "Learn/Front-end_web_developer": { - "modified": "2020-10-22T05:39:54.725Z", - "contributors": [ - "hoadev", - "pth_1641" - ] - }, - "Learn/Getting_started_with_the_web": { - "modified": "2020-07-16T22:33:57.250Z", - "contributors": [ - "happymark01", - "vunamhung", - "PurpleLover", - "banhmisg9509", - "ldhnam", - "sugudkendy", - "tunggnu", - "Thokaka92", - "nnhv1981" - ] - }, - "Learn/Getting_started_with_the_web/CSS_basics": { - "modified": "2020-07-16T22:35:05.195Z", - "contributors": [ - "daonhut", - "spideycode18", - "vunamhung" - ] - }, - "Learn/Getting_started_with_the_web/Cài_đặt_các_phần_mềm_cơ_bản": { - "modified": "2020-07-16T22:34:12.264Z", - "contributors": [ - "vunamhung", - "PurpleLover", - "summerpupil", - "trannguyenhb", - "sugudkendy" - ] - }, - "Learn/Getting_started_with_the_web/Dealing_with_files": { - "modified": "2020-07-16T22:34:39.260Z", - "contributors": [ - "daonhut", - "thanhNamDuong", - "PurpleLover" - ] - }, - "Learn/Getting_started_with_the_web/HTML_basics": { - "modified": "2020-07-16T22:34:53.145Z", - "contributors": [ - "daonhut", - "PurpleLover", - "hasuki" - ] - }, - "Learn/Getting_started_with_the_web/How_the_Web_works": { - "modified": "2020-07-16T22:34:03.499Z", - "contributors": [ - "vunamhung", - "chotmat" - ] - }, - "Learn/Getting_started_with_the_web/JavaScript_basics": { - "modified": "2020-07-16T22:35:17.834Z", - "contributors": [ - "KnStar1107", - "TozyMC", - "PurpleLover", - "cuongtran86", - "huytocdo", - "quytran", - "happymark01", - "kamui23", - "ldhnam", - "hungphamuy95" - ] - }, - "Learn/Getting_started_with_the_web/Publishing_your_website": { - "modified": "2020-07-16T22:34:29.545Z", - "contributors": [ - "SphinxKnight", - "luongvanbich30", - "vunamhung", - "chotmat" - ] - }, - "Learn/Getting_started_with_the_web/The_web_and_web_standards": { - "modified": "2020-09-02T21:46:49.864Z", - "contributors": [ - "lkanz181" - ] - }, - "Learn/Getting_started_with_the_web/What_will_your_website_look_like": { - "modified": "2020-07-16T22:34:20.604Z", - "contributors": [ - "daonhut", - "thanhNamDuong", - "PurpleLover", - "summerpupil", - "LuongNgocHien", - "trannguyenhb", - "Thokaka92" - ] - }, - "Learn/HTML": { - "modified": "2020-07-16T22:22:25.376Z", - "contributors": [ - "JennyLe99", - "Sliver-Ray", - "vunamhung", - "hoangphong15" - ] - }, - "Learn/HTML/Forms": { - "modified": "2020-07-16T22:21:02.351Z", - "contributors": [ - "jasonwest", - "Jeffrey_Yang" - ] - }, - "Learn/HTML/Introduction_to_HTML": { - "modified": "2020-07-16T22:22:54.442Z", - "contributors": [ - "jasonwest", - "tuan2090", - "viduino", - "chivas18" - ] - }, - "Learn/HTML/Introduction_to_HTML/Creating_hyperlinks": { - "modified": "2020-07-16T22:23:48.698Z", - "contributors": [ - "jasonwest" - ] - }, - "Learn/HTML/Introduction_to_HTML/Getting_started": { - "modified": "2020-10-24T03:09:46.964Z", - "contributors": [ - "phanhoang0", - "jasonwest", - "HieuNguyenbadao" - ] - }, - "Learn/HTML/Introduction_to_HTML/The_head_metadata_in_HTML": { - "modified": "2020-07-16T22:23:25.950Z", - "contributors": [ - "jasonwest" - ] - }, - "Learn/HTML/Multimedia_and_embedding": { - "modified": "2020-09-15T01:08:18.224Z", - "contributors": [ - "lkanz181", - "chrisdavidmills" - ] - }, - "Learn/HTML/Multimedia_and_embedding/Video_and_audio_content": { - "modified": "2020-07-16T22:24:57.673Z", - "contributors": [ - "luubinhan" - ] - }, - "Learn/HTML/Tables": { - "modified": "2020-09-15T01:28:20.832Z", - "contributors": [ - "lkanz181" - ] - }, - "Learn/JavaScript": { - "modified": "2020-10-16T12:00:46.182Z", - "contributors": [ - "vietstone", - "BeeSatryyy-tqt", - "AnonymousKL", - "vunamhung", - "TornadoIDS" - ] - }, - "Learn/JavaScript/Building_blocks": { - "modified": "2020-07-16T22:31:10.811Z", - "contributors": [ - "tunggnu" - ] - }, - "Learn/JavaScript/Building_blocks/Events": { - "modified": "2020-07-16T22:31:40.746Z", - "contributors": [ - "tunggnu" - ] - }, - "Learn/JavaScript/First_steps": { - "modified": "2020-07-16T22:29:56.243Z", - "contributors": [ - "tdphut", - "mrtuanyh", - "nguyenthanhnguyen508111" - ] - }, - "Learn/JavaScript/First_steps/Math": { - "modified": "2020-07-16T22:30:29.192Z", - "contributors": [ - "PurpleLover" - ] - }, - "Learn/JavaScript/First_steps/Strings": { - "modified": "2020-07-16T22:30:42.069Z", - "contributors": [ - "thinhnnd" - ] - }, - "Learn/JavaScript/First_steps/What_is_JavaScript": { - "modified": "2020-07-16T22:30:13.662Z", - "contributors": [ - "tdphut" - ] - }, - "Learn/JavaScript/Objects": { - "modified": "2020-07-16T22:31:54.177Z", - "contributors": [ - "ngoc24794", - "anh3we2000" - ] - }, - "Learn/JavaScript/Objects/Inheritance": { - "modified": "2020-08-27T22:15:21.338Z", - "contributors": [ - "TrietDes" - ] - }, - "Learn/Learning_and_getting_help": { - "modified": "2020-09-09T01:04:06.170Z", - "contributors": [ - "lkanz181" - ] - }, - "Learn/Server-side": { - "modified": "2020-07-16T22:36:03.308Z", - "contributors": [ - "nganttk89", - "vunamhung", - "tthoa", - "chrisdavidmills" - ] - }, - "Learn/Server-side/Express_Nodejs": { - "modified": "2020-07-16T22:37:56.076Z", - "contributors": [ - "vhai", - "thanhminh", - "lol-russo" - ] - }, - "Learn/Server-side/Express_Nodejs/Displaying_data": { - "modified": "2020-07-16T22:38:31.795Z", - "contributors": [ - "oskaroldorf" - ] - }, - "Learn/Server-side/Express_Nodejs/Displaying_data/flow_control_using_async": { - "modified": "2020-07-16T22:38:33.512Z", - "contributors": [ - "SphinxKnight", - "nhatphuongb1" - ] - }, - "Learn/Server-side/Express_Nodejs/Tutorial_local_library_website": { - "modified": "2020-07-16T22:38:17.238Z", - "contributors": [ - "PurpleLover", - "dhluong90" - ] - }, - "Learn/Server-side/Express_Nodejs/development_environment": { - "modified": "2020-07-16T22:38:02.025Z", - "contributors": [ - "nhatphuongb1", - "vhai" - ] - }, - "Learn/Server-side/Express_Nodejs/mongoose": { - "modified": "2020-07-16T22:38:23.646Z", - "contributors": [ - "nhatphuongb1", - "PurpleLover", - "ancs21" - ] - }, - "Learn/Server-side/First_steps": { - "modified": "2020-07-16T22:36:11.107Z", - "contributors": [ - "baodainguyen" - ] - }, - "Learn/Server-side/First_steps/Introduction": { - "modified": "2020-07-16T22:36:16.345Z", - "contributors": [ - "amagerzin" - ] - }, - "Learn/Tools_and_testing": { - "modified": "2020-07-16T22:38:58.092Z", - "contributors": [ - "Navin77" - ] - }, - "Learn/Tools_and_testing/Cross_browser_testing": { - "modified": "2020-07-16T22:39:01.939Z", - "contributors": [ - "PurpleLover", - "wbamberg", - "vunamhung" - ] - }, - "Learn/Tools_and_testing/Cross_browser_testing/Introduction": { - "modified": "2020-07-16T22:39:05.386Z", - "contributors": [ - "PurpleLover", - "vunamhung" - ] - }, - "Learn/Tools_and_testing/Cross_browser_testing/Testing_strategies": { - "modified": "2020-07-16T22:39:07.727Z", - "contributors": [ - "PurpleLover" - ] - }, - "MDN": { - "modified": "2020-02-19T18:03:32.456Z", - "contributors": [ - "jswisher", - "SphinxKnight", - "wbamberg", - "Jeremie", - "Sheppy" - ] - }, - "MDN/About": { - "modified": "2019-09-25T07:01:35.664Z", - "contributors": [ - "Callmeyoon", - "SphinxKnight", - "wbamberg", - "trannguyenhb", - "jswisher", - "Lungv" - ] - }, - "MDN/Community": { - "modified": "2019-09-11T08:00:31.400Z", - "contributors": [ - "SphinxKnight", - "wbamberg", - "dangkyokhoang", - "trongdaideveloper", - "lescarbeauleo.ll37" - ] - }, - "MDN/Contribute": { - "modified": "2019-03-23T22:56:25.294Z", - "contributors": [ - "trongthanh", - "wbamberg", - "Nghia11", - "klez" - ] - }, - "MDN/Contribute/Feedback": { - "modified": "2020-09-30T17:52:54.227Z", - "contributors": [ - "chrisdavidmills", - "jswisher", - "SphinxKnight", - "wbamberg", - "PurpleLover", - "vuvansuc" - ] - }, - "MDN/Contribute/Howto": { - "modified": "2020-12-07T19:29:58.137Z", - "contributors": [ - "wbamberg", - "jswisher" - ] - }, - "MDN/Contribute/Howto/Create_an_MDN_account": { - "modified": "2019-08-03T22:29:43.278Z", - "contributors": [ - "sonvo90" - ] - }, - "MDN/Contribute/Howto/Create_and_edit_pages": { - "modified": "2020-11-12T19:32:11.935Z", - "contributors": [ - "jaytea01091990", - "Vietnamese" - ] - }, - "MDN/Contribute/Howto/Do_a_technical_review": { - "modified": "2019-03-18T21:34:38.027Z", - "contributors": [ - "wbamberg", - "SphinxKnight", - "nguyenkien1997" - ] - }, - "MDN/Contribute/Howto/Do_an_editorial_review": { - "modified": "2019-03-18T21:31:03.863Z", - "contributors": [ - "wbamberg", - "PurpleLover" - ] - }, - "MDN/Contribute/Howto/Tag": { - "modified": "2019-07-09T17:34:43.609Z", - "contributors": [ - "thaovy231011" - ] - }, - "MDN/Contribute/Localize": { - "modified": "2019-03-23T22:41:32.491Z", - "contributors": [ - "trongthanh", - "wbamberg", - "jswisher" - ] - }, - "MDN/Contribute/Localize/dich_trang": { - "modified": "2019-03-23T22:41:37.475Z", - "contributors": [ - "trongthanh", - "wbamberg", - "dangkyokhoang", - "HierenFeb" - ] - }, - "MDN/Guidelines": { - "modified": "2020-09-30T15:32:33.648Z", - "contributors": [ - "chrisdavidmills", - "wbamberg" - ] - }, - "MDN/Guidelines/Writing_style_guide": { - "modified": "2020-09-30T15:32:34.502Z", - "contributors": [ - "chrisdavidmills", - "lkamazaezuzemedium" - ] - }, - "MDN/Tools": { - "modified": "2020-09-30T16:55:01.748Z", - "contributors": [ - "chrisdavidmills", - "wbamberg" - ] - }, - "MDN/Tools/KumaScript": { - "modified": "2020-11-30T12:49:15.624Z", - "contributors": [ - "chrisdavidmills", - "mfuji09" - ] - }, - "MDN/Tools/KumaScript/Troubleshooting": { - "modified": "2020-09-30T16:55:02.215Z", - "contributors": [ - "chrisdavidmills", - "thanhphong99991111" - ] - }, - "Mozilla": { - "modified": "2019-03-23T23:26:10.662Z", - "contributors": [ - "Sheppy" - ] - }, - "Tools": { - "modified": "2020-08-31T02:37:28.013Z", - "contributors": [ - "Zoe1.1030", - "SphinxKnight", - "quangpro1610", - "reikokoro", - "torn4dom4n", - "linh7778", - "pierreneter", - "tinxalem1988", - "ThornyLong", - "ngocthanh" - ] - }, - "Tools/Browser_Toolbox": { - "modified": "2020-07-16T22:35:55.846Z", - "contributors": [ - "thunguyen99" - ] - }, - "Tools/Network_Monitor": { - "modified": "2020-07-16T22:35:32.109Z" - }, - "Tools/Page_Inspector": { - "modified": "2020-07-16T22:34:29.881Z", - "contributors": [ - "reikokoro", - "nnhv1981" - ] - }, - "Tools/Remote_Debugging": { - "modified": "2020-07-16T22:35:38.400Z", - "contributors": [ - "duongtien", - "Khanhvan", - "cubi.koj" - ] - }, - "Tu-dien-thuat-ngu": { - "modified": "2020-07-07T11:10:26.504Z", - "contributors": [ - "AMAZALK", - "SphinxKnight", - "wbamberg", - "dogeblossom", - "pierreneter" - ] - }, - "Tu-dien-thuat-ngu/AJAX": { - "modified": "2019-03-23T22:03:39.351Z", - "contributors": [ - "PurpleLover", - "HoangLong" - ] - }, - "Tu-dien-thuat-ngu/Algorithm": { - "modified": "2019-07-04T10:59:16.462Z", - "contributors": [ - "CaMapCoChan" - ] - }, - "Tu-dien-thuat-ngu/Attribute": { - "modified": "2019-03-23T22:08:56.474Z", - "contributors": [ - "dogeblossom" - ] - }, - "Tu-dien-thuat-ngu/Bandwidth": { - "modified": "2019-03-18T21:38:06.965Z", - "contributors": [ - "LuckyBC" - ] - }, - "Tu-dien-thuat-ngu/Boolean": { - "modified": "2019-03-18T21:19:37.651Z", - "contributors": [ - "dangtu" - ] - }, - "Tu-dien-thuat-ngu/CDN": { - "modified": "2019-03-18T21:19:29.377Z", - "contributors": [ - "dangtu" - ] - }, - "Tu-dien-thuat-ngu/CSS": { - "modified": "2019-03-23T22:03:35.496Z", - "contributors": [ - "HoangLong" - ] - }, - "Tu-dien-thuat-ngu/Cache": { - "modified": "2019-03-18T21:19:31.742Z", - "contributors": [ - "dangtu" - ] - }, - "Tu-dien-thuat-ngu/Callback_function": { - "modified": "2020-09-09T06:56:52.568Z", - "contributors": [ - "HieuZenKa" - ] - }, - "Tu-dien-thuat-ngu/Computer_Programming": { - "modified": "2019-07-04T11:20:10.774Z", - "contributors": [ - "CaMapCoChan" - ] - }, - "Tu-dien-thuat-ngu/Dynamic_programming_language": { - "modified": "2020-01-21T05:07:50.519Z", - "contributors": [ - "TozyMC" - ] - }, - "Tu-dien-thuat-ngu/Falsy": { - "modified": "2019-03-18T21:42:15.228Z", - "contributors": [ - "huyennbl" - ] - }, - "Tu-dien-thuat-ngu/General_header": { - "modified": "2020-07-30T13:12:39.167Z", - "contributors": [ - "meet-robbers" - ] - }, - "Tu-dien-thuat-ngu/HTML": { - "modified": "2019-07-09T01:38:57.464Z", - "contributors": [ - "CaMapCoChan", - "SphinxKnight", - "sang247" - ] - }, - "Tu-dien-thuat-ngu/Head": { - "modified": "2019-03-18T21:34:03.824Z", - "contributors": [ - "haschema" - ] - }, - "Tu-dien-thuat-ngu/Hoisting": { - "modified": "2019-03-23T22:03:26.098Z", - "contributors": [ - "tthoa" - ] - }, - "Tu-dien-thuat-ngu/Identifier": { - "modified": "2019-09-12T07:11:51.101Z", - "contributors": [ - "PurpleLover" - ] - }, - "Tu-dien-thuat-ngu/JSON": { - "modified": "2020-03-01T08:50:15.149Z", - "contributors": [ - "jasonwest" - ] - }, - "Tu-dien-thuat-ngu/Metadata": { - "modified": "2019-09-28T03:51:43.213Z", - "contributors": [ - "PurpleLover" - ] - }, - "Tu-dien-thuat-ngu/Null": { - "modified": "2019-04-02T01:34:28.284Z", - "contributors": [ - "PurpleLover" - ] - }, - "Tu-dien-thuat-ngu/Operand": { - "modified": "2019-03-18T21:24:16.690Z", - "contributors": [ - "PurpleLover" - ] - }, - "Tu-dien-thuat-ngu/PHP": { - "modified": "2020-07-06T04:07:13.997Z", - "contributors": [ - "trhiu98" - ] - }, - "Tu-dien-thuat-ngu/Primitive": { - "modified": "2020-02-20T08:31:45.575Z", - "contributors": [ - "jasonwest", - "PurpleLover" - ] - }, - "Tu-dien-thuat-ngu/Responsive_web_design": { - "modified": "2019-03-18T21:23:52.487Z", - "contributors": [ - "dangtu", - "PurpleLover" - ] - }, - "Tu-dien-thuat-ngu/SVG": { - "modified": "2019-03-18T21:30:00.077Z", - "contributors": [ - "PurpleLover" - ] - }, - "Tu-dien-thuat-ngu/Truthy": { - "modified": "2019-03-18T21:14:14.286Z", - "contributors": [ - "PurpleLover" - ] - }, - "Tu-dien-thuat-ngu/Type_Conversion": { - "modified": "2019-03-18T21:14:14.787Z", - "contributors": [ - "PurpleLover" - ] - }, - "Tu-dien-thuat-ngu/XML": { - "modified": "2019-04-02T00:32:39.662Z", - "contributors": [ - "PurpleLover" - ] - }, - "Tu-dien-thuat-ngu/array": { - "modified": "2019-03-23T22:51:42.901Z", - "contributors": [ - "pierreneter" - ] - }, - "Tu-dien-thuat-ngu/jQuery": { - "modified": "2020-06-12T00:19:33.980Z", - "contributors": [ - "MinhDT" - ] - }, - "Tu-dien-thuat-ngu/trinh-duyet": { - "modified": "2019-03-18T21:27:51.112Z", - "contributors": [ - "trongthanh" - ] - }, - "Tu-dien-thuat-ngu/undefined": { - "modified": "2020-11-05T07:13:34.835Z", - "contributors": [ - "lamvanngoankl", - "duongdnh", - "dzungnait" - ] - }, - "Web": { - "modified": "2020-09-07T08:56:40.087Z", - "contributors": [ - "tinhdat2688", - "SphinxKnight", - "PW79", - "daonhut", - "PTTUNG14091986", - "Yenphi1986", - "trannguyenhb", - "dangsonbk", - "MaiDoan", - "ntdat3011", - "pierreneter", - "ethertank" - ] - }, - "Web/API": { - "modified": "2019-03-23T22:48:33.289Z", - "contributors": [ - "thiennp", - "Thokaka92", - "vietGT", - "kuldipem" - ] - }, - "Web/API/AudioContext": { - "modified": "2019-03-23T22:10:10.512Z", - "contributors": [ - "ffxsam" - ] - }, - "Web/API/AudioContext/createOscillator": { - "modified": "2019-03-23T22:10:18.020Z", - "contributors": [ - "deschutron" - ] - }, - "Web/API/Canvas_API": { - "modified": "2019-10-21T22:35:24.820Z", - "contributors": [ - "phamthainb" - ] - }, - "Web/API/ChildNode": { - "modified": "2020-10-15T22:13:47.424Z", - "contributors": [ - "fscholz" - ] - }, - "Web/API/ChildNode/remove": { - "modified": "2020-10-15T22:13:50.175Z", - "contributors": [ - "dangtu" - ] - }, - "Web/API/Document_Object_Model": { - "modified": "2019-03-23T22:15:19.411Z", - "contributors": [ - "arai" - ] - }, - "Web/API/Document_Object_Model/Introduction": { - "modified": "2019-07-03T04:42:59.888Z", - "contributors": [ - "tin_dt", - "nmd176" - ] - }, - "Web/API/EventSource": { - "modified": "2020-10-15T22:20:35.369Z", - "contributors": [ - "mfuji09" - ] - }, - "Web/API/EventSource/url": { - "modified": "2020-10-15T22:20:33.472Z", - "contributors": [ - "quangnguyen3499" - ] - }, - "Web/API/Fetch_API": { - "modified": "2020-10-15T22:28:00.422Z", - "contributors": [ - "thanxuanquynh", - "LamThanhNguyen" - ] - }, - "Web/API/File": { - "modified": "2020-10-15T22:29:34.959Z", - "contributors": [ - "TanPhan215" - ] - }, - "Web/API/Geolocation_API": { - "modified": "2020-10-15T22:15:01.781Z", - "contributors": [ - "SphinxKnight", - "duongvanha", - "ez2do" - ] - }, - "Web/API/HTMLCanvasElement": { - "modified": "2020-10-15T22:21:09.529Z", - "contributors": [ - "Jonathan_Watt" - ] - }, - "Web/API/HTMLCanvasElement/getContext": { - "modified": "2020-10-15T22:21:17.444Z", - "contributors": [ - "nhanvo-1811" - ] - }, - "Web/API/HTMLElement": { - "modified": "2020-10-15T22:20:55.543Z", - "contributors": [ - "namnt2203" - ] - }, - "Web/API/HTMLElement/dataset": { - "modified": "2020-10-15T22:21:54.914Z", - "contributors": [ - "dangtu" - ] - }, - "Web/API/HTMLFormElement": { - "modified": "2020-10-15T22:23:32.942Z", - "contributors": [ - "867380699" - ] - }, - "Web/API/HTMLFormElement/reset": { - "modified": "2020-10-15T22:23:31.547Z", - "contributors": [ - "trongcit" - ] - }, - "Web/API/Navigator": { - "modified": "2020-10-15T22:20:36.994Z", - "contributors": [ - "bershanskiy" - ] - }, - "Web/API/Navigator/geolocation": { - "modified": "2020-10-15T22:20:32.518Z", - "contributors": [ - "NgDTien" - ] - }, - "Web/API/Navigator/sendBeacon-vi": { - "modified": "2020-10-15T22:30:31.004Z", - "contributors": [ - "hta218" - ] - }, - "Web/API/Node": { - "modified": "2019-03-23T22:48:37.272Z", - "contributors": [ - "AlfredoLlaquet" - ] - }, - "Web/API/Node/insertBefore": { - "modified": "2020-10-15T22:20:17.480Z", - "contributors": [ - "JennyLe99" - ] - }, - "Web/API/Node/parentElement": { - "modified": "2020-10-15T22:03:01.006Z", - "contributors": [ - "Ozu" - ] - }, - "Web/API/Node/parentNode": { - "modified": "2020-10-15T22:03:00.943Z", - "contributors": [ - "Ozu" - ] - }, - "Web/API/Touch_events": { - "modified": "2020-10-15T22:09:54.055Z", - "contributors": [ - "fscholz" - ] - }, - "Web/API/Touch_events/Supporting_both_TouchEvent_and_MouseEvent": { - "modified": "2019-03-18T21:24:18.657Z", - "contributors": [ - "luubinhan" - ] - }, - "Web/API/URL_API": { - "modified": "2020-10-15T22:31:11.224Z", - "contributors": [ - "khoipro" - ] - }, - "Web/API/WebRTC_API": { - "modified": "2020-12-07T19:29:57.145Z", - "contributors": [ - "Sheppy" - ] - }, - "Web/API/WebRTC_API/Protocols": { - "modified": "2020-04-29T01:07:00.420Z", - "contributors": [ - "maole" - ] - }, - "Web/API/WebSockets_API": { - "modified": "2019-05-22T00:32:07.002Z", - "contributors": [ - "tranngockhoa", - "trantuan94", - "oxygen" - ] - }, - "Web/API/WebSockets_API/Writing_a_WebSocket_server_in_Java": { - "modified": "2019-03-18T21:28:02.167Z", - "contributors": [ - "asdcxsd" - ] - }, - "Web/API/Window": { - "modified": "2020-10-15T22:18:15.807Z", - "contributors": [ - "SphinxKnight", - "mr.phonghoi", - "chrisdavidmills" - ] - }, - "Web/API/Window/prompt": { - "modified": "2020-10-15T22:22:32.051Z", - "contributors": [ - "quocdungabc" - ] - }, - "Web/API/notification": { - "modified": "2019-03-23T22:32:38.547Z", - "contributors": [ - "HoanChu" - ] - }, - "Web/Accessibility": { - "modified": "2020-06-30T23:43:03.677Z", - "contributors": [ - "davidb2" - ] - }, - "Web/Accessibility/ARIA": { - "modified": "2020-06-30T23:43:03.884Z", - "contributors": [ - "chharvey" - ] - }, - "Web/Accessibility/ARIA/ARIA_Live_Regions": { - "modified": "2020-06-30T23:43:05.430Z", - "contributors": [ - "khoipro" - ] - }, - "Web/CSS": { - "modified": "2019-09-11T03:41:11.582Z", - "contributors": [ - "SphinxKnight", - "daonhut", - "teoli" - ] - }, - "Web/CSS/:first-child": { - "modified": "2020-10-15T22:20:49.922Z", - "contributors": [ - "namnt2203" - ] - }, - "Web/CSS/:focus": { - "modified": "2020-10-15T21:59:31.936Z", - "contributors": [ - "Ozu" - ] - }, - "Web/CSS/:focus-within": { - "modified": "2020-10-15T21:59:33.648Z", - "contributors": [ - "Ozu" - ] - }, - "Web/CSS/:last-of-type": { - "modified": "2019-03-23T22:15:25.595Z", - "contributors": [ - "dungjk" - ] - }, - "Web/CSS/CSS_Box_Alignment": { - "modified": "2019-03-18T21:11:59.833Z", - "contributors": [ - "ngocV" - ] - }, - "Web/CSS/CSS_Box_Model": { - "modified": "2020-07-02T02:43:31.905Z" - }, - "Web/CSS/CSS_Box_Model/Kien_thuc_co_ban_ve_css_box_model": { - "modified": "2020-07-26T20:10:53.236Z", - "contributors": [ - "luongvanphuc" - ] - }, - "Web/CSS/CSS_Grid_Layout": { - "modified": "2020-09-05T02:57:16.998Z", - "contributors": [ - "PlayerNguyen", - "trannguyenhb" - ] - }, - "Web/CSS/CSS_Grid_Layout/tong_quan_ve_grid_layout": { - "modified": "2019-10-10T16:32:33.519Z", - "contributors": [ - "thaovy231011", - "graceoflives", - "ThuanChung", - "trannguyenhb" - ] - }, - "Web/CSS/CSS_Transitions": { - "modified": "2019-03-18T21:17:41.766Z", - "contributors": [ - "mfluehr" - ] - }, - "Web/CSS/CSS_Transitions/Using_CSS_transitions": { - "modified": "2019-03-23T22:04:10.788Z", - "contributors": [ - "thanhvk" - ] - }, - "Web/CSS/Universal_selectors": { - "modified": "2020-10-15T22:00:40.593Z", - "contributors": [ - "sarkzkalie", - "hnhuan" - ] - }, - "Web/CSS/backdrop-filter": { - "modified": "2020-10-15T22:33:55.221Z", - "contributors": [ - "Zoe1.1030" - ] - }, - "Web/CSS/background-color": { - "modified": "2020-10-15T22:33:55.069Z", - "contributors": [ - "Zoe1.1030" - ] - }, - "Web/CSS/content": { - "modified": "2020-10-15T22:34:41.686Z", - "contributors": [ - "ZulyYoon" - ] - }, - "Web/CSS/filter-function": { - "modified": "2019-06-25T00:21:32.015Z", - "contributors": [ - "alattalatta" - ] - }, - "Web/CSS/filter-function/url": { - "modified": "2019-06-25T00:21:32.737Z", - "contributors": [ - "quangnguyen3499" - ] - }, - "Web/CSS/flex": { - "modified": "2019-03-23T22:06:01.834Z", - "contributors": [ - "tuanphpvn" - ] - }, - "Web/CSS/flex-basis": { - "modified": "2020-10-15T22:27:25.319Z", - "contributors": [ - "phd147" - ] - }, - "Web/CSS/flex-wrap": { - "modified": "2020-10-15T21:49:12.183Z", - "contributors": [ - "SphinxKnight", - "LadyGaga1208", - "fscholz", - "nguyenvanduocit" - ] - }, - "Web/CSS/length": { - "modified": "2019-03-23T22:30:10.915Z", - "contributors": [ - "tiizeen" - ] - }, - "Web/CSS/perspective": { - "modified": "2019-03-23T22:06:43.000Z", - "contributors": [ - "ngminhtrung" - ] - }, - "Web/CSS/transform-function": { - "modified": "2020-10-15T22:28:36.104Z", - "contributors": [ - "bernardirfan" - ] - }, - "Web/CSS/transform-function/perspective()": { - "modified": "2020-11-16T09:11:00.396Z", - "contributors": [ - "chrisdavidmills", - "linhsamiu" - ] - }, - "Web/Events": { - "modified": "2020-06-12T00:53:39.409Z", - "contributors": [ - "MinhDT", - "wbamberg", - "chrisdavidmills" - ] - }, - "Web/Events/load": { - "modified": "2019-04-30T13:56:43.861Z", - "contributors": [ - "wbamberg", - "tinhocsoctrang" - ] - }, - "Web/Guide": { - "modified": "2019-04-18T16:41:12.742Z", - "contributors": [ - "ducanhthieu", - "tdtrung17693", - "thuytrang17", - "jswisher" - ] - }, - "Web/Guide/API": { - "modified": "2019-03-31T09:01:39.683Z", - "contributors": [ - "Lyn203" - ] - }, - "Web/Guide/CSS/Getting_started": { - "modified": "2019-03-23T22:41:47.576Z", - "contributors": [ - "wjinca" - ] - }, - "Web/Guide/HTML/HTML5": { - "modified": "2019-06-28T06:02:15.769Z", - "contributors": [ - "quangnguyen3499" - ] - }, - "Web/HTML": { - "modified": "2020-09-28T10:41:00.097Z", - "contributors": [ - "shiramikinichi", - "pynkdy", - "wantibui", - "teoli", - "noidautimem" - ] - }, - "Web/HTML/Element": { - "modified": "2019-03-18T21:12:21.313Z", - "contributors": [ - "truoggiag", - "QwertPasd", - "Ladykill3r" - ] - }, - "Web/HTML/Element/center": { - "modified": "2020-11-06T03:41:29.917Z", - "contributors": [ - "SphinxKnight", - "hung7560" - ] - }, - "Web/HTML/Element/dialog": { - "modified": "2020-10-15T22:10:09.169Z", - "contributors": [ - "trongthanh" - ] - }, - "Web/HTML/Element/em": { - "modified": "2020-11-09T23:20:24.410Z", - "contributors": [ - "thiencntt" - ] - }, - "Web/HTML/Element/header": { - "modified": "2019-03-23T22:09:48.162Z", - "contributors": [ - "realplus" - ] - }, - "Web/HTML/Element/html": { - "modified": "2020-10-15T21:56:35.437Z", - "contributors": [ - "QwertPasd" - ] - }, - "Web/HTML/Element/meta": { - "modified": "2020-10-15T22:08:40.518Z", - "contributors": [ - "linhtrn21" - ] - }, - "Web/HTML/Element/span": { - "modified": "2020-10-15T22:30:44.497Z", - "contributors": [ - "nguyenhavy280" - ] - }, - "Web/HTML_vi": { - "modified": "2019-09-10T15:30:17.653Z", - "contributors": [ - "SphinxKnight", - "monodyle" - ] - }, - "Web/HTTP": { - "modified": "2020-06-02T02:12:20.369Z", - "contributors": [ - "SphinxKnight", - "luongvanbich30", - "khandz", - "fscholz" - ] - }, - "Web/HTTP/Headers": { - "modified": "2019-03-23T22:11:04.950Z", - "contributors": [ - "scooter-dangle" - ] - }, - "Web/HTTP/Headers/Content-Security-Policy": { - "modified": "2020-10-15T22:32:58.618Z", - "contributors": [ - "jswisher" - ] - }, - "Web/HTTP/Headers/Content-Security-Policy/style-src": { - "modified": "2020-10-15T22:32:51.910Z", - "contributors": [ - "phannguyenthanh" - ] - }, - "Web/JavaScript": { - "modified": "2020-10-22T04:50:14.953Z", - "contributors": [ - "hoadev", - "SphinxKnight", - "quangnguyen123096", - "daonhut", - "bdt195", - "vunamhung", - "PurpleLover", - "phungcorporation", - "pnhung177", - "TuTran", - "heyuno", - "hngnaig", - "deschutron", - "pierreneter", - "tranphu0312", - "dominhhai" - ] - }, - "Web/JavaScript/A_re-introduction_to_JavaScript": { - "modified": "2020-11-13T03:42:45.603Z", - "contributors": [ - "thanhdat19521", - "namdh", - "nghiacoitb" - ] - }, - "Web/JavaScript/Closures": { - "modified": "2020-03-12T19:48:13.266Z", - "contributors": [ - "quytran", - "luubinhan" - ] - }, - "Web/JavaScript/Data_structures": { - "modified": "2020-08-12T04:49:25.423Z", - "contributors": [ - "nvctuan2302", - "trongthanh", - "phamminhduc209", - "Khai96_" - ] - }, - "Web/JavaScript/Guide": { - "modified": "2020-03-12T19:40:58.435Z", - "contributors": [ - "daonhut", - "nahkd123", - "MaiDoan", - "teoli" - ] - }, - "Web/JavaScript/Guide/Control_flow_and_error_handling": { - "modified": "2020-03-12T19:49:13.656Z", - "contributors": [ - "jasonwest", - "PurpleLover" - ] - }, - "Web/JavaScript/Guide/Details_of_the_Object_Model": { - "modified": "2020-03-12T19:48:16.598Z", - "contributors": [ - "quytran" - ] - }, - "Web/JavaScript/Guide/Expressions_and_Operators": { - "modified": "2020-03-12T19:48:07.727Z", - "contributors": [ - "PurpleLover", - "hzainguyen" - ] - }, - "Web/JavaScript/Guide/Functions": { - "modified": "2020-03-12T19:42:37.879Z", - "contributors": [ - "jasonwest", - "nahkd123", - "vietthangml3" - ] - }, - "Web/JavaScript/Guide/Gioi-thieu": { - "modified": "2020-03-12T19:42:05.017Z", - "contributors": [ - "ldhnam", - "pierreneter" - ] - }, - "Web/JavaScript/Guide/Iterators_and_Generators": { - "modified": "2020-03-12T19:48:55.506Z", - "contributors": [ - "quytran" - ] - }, - "Web/JavaScript/Guide/Keyed_collections": { - "modified": "2020-05-04T04:29:56.429Z", - "contributors": [ - "Nampt" - ] - }, - "Web/JavaScript/Guide/Loops_and_iteration": { - "modified": "2020-03-12T19:49:22.192Z", - "contributors": [ - "jasonwest", - "PurpleLover" - ] - }, - "Web/JavaScript/Guide/Numbers_and_dates": { - "modified": "2020-03-12T19:49:00.265Z", - "contributors": [ - "quytran" - ] - }, - "Web/JavaScript/Guide/Regular_Expressions": { - "modified": "2020-03-12T19:41:00.050Z", - "contributors": [ - "SphinxKnight", - "ldhnam", - "dangsonbk", - "dominhhai", - "ltlam93", - "teoli" - ] - }, - "Web/JavaScript/Guide/Text_formatting": { - "modified": "2020-07-26T05:29:22.483Z", - "contributors": [ - "SphinxKnight", - "tungnguyen.antc", - "hanjimj000" - ] - }, - "Web/JavaScript/Guide/Using_promises": { - "modified": "2020-03-12T19:48:12.362Z", - "contributors": [ - "trongthanh", - "tacaocanh" - ] - }, - "Web/JavaScript/Guide/Working_with_Objects": { - "modified": "2020-03-12T19:48:10.925Z", - "contributors": [ - "quytran" - ] - }, - "Web/JavaScript/Guide/cu-phap-lap-trinh": { - "modified": "2020-03-12T19:42:06.926Z", - "contributors": [ - "jasonwest", - "mrbean", - "ldhnam", - "pierreneter" - ] - }, - "Web/JavaScript/Memory_Management": { - "modified": "2020-03-12T19:48:37.281Z", - "contributors": [ - "PurpleLover" - ] - }, - "Web/JavaScript/Reference": { - "modified": "2020-09-29T02:40:03.320Z", - "contributors": [ - "SphinxKnight", - "mr.phonghoi", - "Minat" - ] - }, - "Web/JavaScript/Reference/Classes": { - "modified": "2020-03-12T19:46:38.417Z", - "contributors": [ - "KevinGHB", - "trongthanh", - "j1nz" - ] - }, - "Web/JavaScript/Reference/Classes/constructor": { - "modified": "2020-10-15T22:16:05.709Z", - "contributors": [ - "hiep1bg" - ] - }, - "Web/JavaScript/Reference/Classes/extends": { - "modified": "2020-10-15T22:16:04.250Z", - "contributors": [ - "hiep1bg" - ] - }, - "Web/JavaScript/Reference/Errors": { - "modified": "2020-03-12T19:46:14.702Z", - "contributors": [ - "Sheppy" - ] - }, - "Web/JavaScript/Reference/Errors/Missing_semicolon_before_statement": { - "modified": "2020-03-12T19:46:49.174Z", - "contributors": [ - "SphinxKnight", - "thiencongcorp", - "thienvu18" - ] - }, - "Web/JavaScript/Reference/Errors/More_arguments_needed": { - "modified": "2020-03-12T19:49:02.041Z", - "contributors": [ - "TanPhan215" - ] - }, - "Web/JavaScript/Reference/Errors/Not_a_function": { - "modified": "2020-03-12T19:46:14.584Z", - "contributors": [ - "Lisa9820727170617" - ] - }, - "Web/JavaScript/Reference/Errors/qua_nhieu_de_quy": { - "modified": "2020-03-12T19:46:27.274Z", - "contributors": [ - "tuanticker" - ] - }, - "Web/JavaScript/Reference/Functions": { - "modified": "2020-03-12T19:45:38.625Z", - "contributors": [ - "wilfreddesert" - ] - }, - "Web/JavaScript/Reference/Functions/Arrow_functions": { - "modified": "2020-10-22T04:38:40.117Z", - "contributors": [ - "hoadev", - "minhthangtkqn", - "PurpleLover", - "thaiviptn1201", - "anhnc" - ] - }, - "Web/JavaScript/Reference/Functions/Default_parameters": { - "modified": "2020-10-15T22:20:53.259Z", - "contributors": [ - "quangnguyen3499" - ] - }, - "Web/JavaScript/Reference/Functions/arguments": { - "modified": "2020-10-15T22:17:00.828Z", - "contributors": [ - "PurpleLover" - ] - }, - "Web/JavaScript/Reference/Global_Objects": { - "modified": "2020-03-12T19:41:25.641Z", - "contributors": [ - "quangnguyen3499", - "teoli" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array": { - "modified": "2020-10-15T21:35:58.977Z", - "contributors": [ - "hanguyen", - "vhung.webdev", - "Dr.Tan", - "wbamberg", - "jack1998", - "vunamhung", - "ldhnam", - "NguyenYustar", - "teoli" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/\blength": { - "modified": "2020-10-15T22:08:30.308Z", - "contributors": [ - "quangnguyen3499", - "dothanhlam" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/Reduce": { - "modified": "2020-10-15T22:08:11.278Z", - "contributors": [ - "Meigyoku-Thmn", - "trongthanh" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/ReduceRight": { - "modified": "2019-03-23T22:16:29.080Z", - "contributors": [ - "anhnc" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/Sắp_xếp": { - "modified": "2020-10-15T22:05:03.635Z", - "contributors": [ - "trongthanh", - "PurpleLover", - "summerpupil" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/concat": { - "modified": "2020-10-15T22:08:22.825Z", - "contributors": [ - "tttam0113" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/copyWithin": { - "modified": "2020-10-15T22:31:50.175Z", - "contributors": [ - "NeoX90" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/entries": { - "modified": "2020-11-11T00:31:57.300Z", - "contributors": [ - "namuit.k12" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/every": { - "modified": "2020-10-15T22:31:10.367Z", - "contributors": [ - "jasonwest" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/fill": { - "modified": "2020-10-15T22:21:27.842Z", - "contributors": [ - "PhamThai" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/filter": { - "modified": "2020-10-15T22:08:05.736Z", - "contributors": [ - "vhai", - "quytran", - "trongthanh" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/find": { - "modified": "2020-10-15T22:21:02.592Z", - "contributors": [ - "maituongluan" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/findIndex": { - "modified": "2019-03-23T22:16:36.349Z", - "contributors": [ - "kienhg96" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/flat": { - "modified": "2020-10-15T22:33:55.310Z", - "contributors": [ - "quanghm27" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/forEach": { - "modified": "2020-10-15T22:08:07.840Z", - "contributors": [ - "voquanghoa", - "nim", - "fchienvuhoang", - "trongthanh", - "ngtritham" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/from": { - "modified": "2020-10-15T22:09:17.202Z", - "contributors": [ - "quytran", - "trongthanh", - "dothanhlam" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/includes": { - "modified": "2020-10-15T22:23:06.630Z", - "contributors": [ - "namnt2203" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/indexOf": { - "modified": "2020-10-15T22:06:08.454Z", - "contributors": [ - "bugb", - "trongthanh", - "lehongson12" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/isArray": { - "modified": "2020-10-15T21:57:04.732Z", - "contributors": [ - "quytran", - "trongthanh", - "NguyenTungs", - "atum201" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/join": { - "modified": "2020-10-15T22:21:10.698Z", - "contributors": [ - "tung2z", - "namnt2203" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/map": { - "modified": "2020-10-15T22:08:09.164Z", - "contributors": [ - "trongthanh", - "truonghoangngoclam" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/of": { - "modified": "2020-10-15T22:08:26.429Z", - "contributors": [ - "dothanhlam" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/pop": { - "modified": "2020-10-15T22:13:49.918Z", - "contributors": [ - "vhai" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/push": { - "modified": "2020-10-15T22:08:48.265Z", - "contributors": [ - "tttam0113" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/reverse": { - "modified": "2019-03-23T22:43:33.664Z", - "contributors": [ - "trinhngocdieu", - "hungcao181" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/shift": { - "modified": "2020-11-21T05:15:47.283Z", - "contributors": [ - "realkhoa", - "tieppt" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/slice": { - "modified": "2020-10-15T21:56:54.724Z", - "contributors": [ - "RyeNguyen", - "emsnguyen", - "peara", - "truongminh" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/some": { - "modified": "2020-10-15T22:21:06.686Z", - "contributors": [ - "namnt2203" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/splice": { - "modified": "2020-10-15T21:56:54.950Z", - "contributors": [ - "quangnguyen3499", - "noodle88", - "longgt", - "hcminh", - "hiep8024", - "trongle", - "toolaugh" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/toLocaleString": { - "modified": "2020-10-15T22:26:22.982Z", - "contributors": [ - "dhanh22" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/toString": { - "modified": "2020-10-15T22:23:08.819Z", - "contributors": [ - "linhdt-0560" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/unshift": { - "modified": "2020-11-10T10:30:13.947Z", - "contributors": [ - "rains.on.stonewall", - "MinhOmega", - "KhanhVanCong" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/values": { - "modified": "2020-11-04T07:36:27.717Z", - "contributors": [ - "DatHoang997" - ] - }, - "Web/JavaScript/Reference/Global_Objects/ArrayBuffer": { - "modified": "2020-10-15T22:09:11.584Z", - "contributors": [ - "dothanhlam" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Date": { - "modified": "2019-03-23T22:14:46.621Z", - "contributors": [ - "tiencoffee" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Date/parse": { - "modified": "2020-10-15T22:21:17.210Z", - "contributors": [ - "NguyenGiaHungAG" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Function": { - "modified": "2020-10-15T21:58:39.302Z", - "contributors": [ - "Dr.Tan", - "fscholz" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Function/call": { - "modified": "2020-10-15T21:58:40.548Z", - "contributors": [ - "quinhatpy", - "httrung91" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Function/toSource": { - "modified": "2020-10-15T22:20:27.188Z", - "contributors": [ - "quangnguyen3499" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Generator": { - "modified": "2020-10-15T22:09:33.953Z", - "contributors": [ - "luubinhan" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Infinity": { - "modified": "2020-10-15T22:10:54.281Z", - "contributors": [ - "PurpleLover" - ] - }, - "Web/JavaScript/Reference/Global_Objects/JSON": { - "modified": "2020-10-15T22:27:53.548Z", - "contributors": [ - "jasonwest" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Map": { - "modified": "2020-10-15T22:13:58.349Z", - "contributors": [ - "vhai" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Math": { - "modified": "2020-10-15T22:13:00.633Z", - "contributors": [ - "MhdSyrwan" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Math/abs": { - "modified": "2020-10-15T22:12:56.928Z", - "contributors": [ - "dangtu" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Math/ceil": { - "modified": "2020-10-15T22:12:58.388Z", - "contributors": [ - "dangtu" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Math/floor": { - "modified": "2020-10-15T22:34:14.282Z", - "contributors": [ - "letrung02082000" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Math/sqrt": { - "modified": "2020-10-15T22:23:58.943Z", - "contributors": [ - "dangtu" - ] - }, - "Web/JavaScript/Reference/Global_Objects/NaN": { - "modified": "2020-10-15T22:12:58.150Z", - "contributors": [ - "dangtu" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Number": { - "modified": "2019-03-23T22:37:22.748Z", - "contributors": [ - "tiencoffee", - "fscholz" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER": { - "modified": "2020-10-15T22:10:17.927Z", - "contributors": [ - "PurpleLover" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Number/MIN_SAFE_INTEGER": { - "modified": "2020-10-15T22:10:44.962Z", - "contributors": [ - "PurpleLover" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Number/NEGATIVE_INFINITY": { - "modified": "2020-10-15T22:10:44.551Z", - "contributors": [ - "PurpleLover" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Number/NaN": { - "modified": "2020-10-15T22:12:53.927Z", - "contributors": [ - "dangtu" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Number/POSITIVE_INFINITY": { - "modified": "2020-10-15T22:10:49.290Z", - "contributors": [ - "PurpleLover" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Number/isFinite": { - "modified": "2020-10-15T22:10:49.022Z", - "contributors": [ - "PurpleLover" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Number/isInteger": { - "modified": "2020-10-15T21:43:58.003Z", - "contributors": [ - "pierreneter" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Number/isNaN": { - "modified": "2020-10-15T21:43:45.225Z", - "contributors": [ - "pierreneter" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger": { - "modified": "2020-10-15T22:10:45.293Z", - "contributors": [ - "PurpleLover" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Object": { - "modified": "2019-06-17T13:06:42.844Z", - "contributors": [ - "fscholz" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Object/assign": { - "modified": "2020-10-15T21:53:07.633Z", - "contributors": [ - "phamthainb", - "minhthangtkqn", - "nhokgames1", - "covercover", - "kamui23", - "phithu", - "viiiprock" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Object/defineProperties": { - "modified": "2019-03-23T22:09:34.422Z", - "contributors": [ - "pnhung177" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Object/defineProperty": { - "modified": "2020-10-15T22:02:41.134Z", - "contributors": [ - "kiennguyen" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyNames": { - "modified": "2020-10-15T22:29:43.769Z", - "contributors": [ - "Jenick" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Object/toString": { - "modified": "2020-10-15T21:59:06.698Z", - "contributors": [ - "Cuong97CC", - "baodongco" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Object/valueOf": { - "modified": "2020-10-15T21:59:02.916Z", - "contributors": [ - "baodongco" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Promise": { - "modified": "2020-10-15T21:50:11.185Z", - "contributors": [ - "lockevn", - "phamhongphuc", - "tuancuong92", - "dominhhai" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Promise/all": { - "modified": "2020-10-15T21:50:16.165Z", - "contributors": [ - "dominhhai" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Promise/catch": { - "modified": "2020-10-15T21:50:15.774Z", - "contributors": [ - "dominhhai" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Promise/finally": { - "modified": "2020-10-15T22:08:50.959Z", - "contributors": [ - "WTSKelly" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Promise/prototype": { - "modified": "2020-10-15T21:50:15.823Z", - "contributors": [ - "dominhhai" - ] - }, - "Web/JavaScript/Reference/Global_Objects/RegExp": { - "modified": "2020-10-15T22:02:37.288Z", - "contributors": [ - "Erutuon" - ] - }, - "Web/JavaScript/Reference/Global_Objects/RegExp/exec": { - "modified": "2020-10-15T22:02:35.458Z", - "contributors": [ - "Ozu" - ] - }, - "Web/JavaScript/Reference/Global_Objects/String": { - "modified": "2020-06-11T09:34:19.025Z", - "contributors": [ - "yannini", - "huynhtrongnhan", - "fscholz" - ] - }, - "Web/JavaScript/Reference/Global_Objects/String/match": { - "modified": "2020-10-15T22:02:34.053Z", - "contributors": [ - "Ozu" - ] - }, - "Web/JavaScript/Reference/Global_Objects/String/normalize": { - "modified": "2020-10-15T22:18:08.118Z", - "contributors": [ - "trongthanh" - ] - }, - "Web/JavaScript/Reference/Global_Objects/String/repeat": { - "modified": "2020-10-15T22:03:00.099Z", - "contributors": [ - "Ozu" - ] - }, - "Web/JavaScript/Reference/Global_Objects/String/replace": { - "modified": "2020-10-15T22:31:16.413Z", - "contributors": [ - "jasonwest" - ] - }, - "Web/JavaScript/Reference/Global_Objects/String/slice": { - "modified": "2019-03-23T22:49:42.762Z", - "contributors": [ - "hellsing1986" - ] - }, - "Web/JavaScript/Reference/Global_Objects/String/startsWith": { - "modified": "2019-03-23T22:40:44.792Z", - "contributors": [ - "SphinxKnight", - "nguyenmanh1507" - ] - }, - "Web/JavaScript/Reference/Global_Objects/String/substr": { - "modified": "2020-10-15T21:56:48.255Z", - "contributors": [ - "hzainguyen", - "tthoa" - ] - }, - "Web/JavaScript/Reference/Global_Objects/String/substring": { - "modified": "2020-12-01T04:28:03.524Z", - "contributors": [ - "vts1381997", - "PhamNgocPhi" - ] - }, - "Web/JavaScript/Reference/Global_Objects/WeakMap": { - "modified": "2020-10-15T22:29:38.946Z", - "contributors": [ - "Nampt" - ] - }, - "Web/JavaScript/Reference/Global_Objects/isFinite": { - "modified": "2020-10-15T22:10:50.060Z", - "contributors": [ - "PurpleLover" - ] - }, - "Web/JavaScript/Reference/Global_Objects/loi": { - "modified": "2020-10-15T22:01:36.057Z", - "contributors": [ - "Dr.Tan", - "bonjourimcam" - ] - }, - "Web/JavaScript/Reference/Iteration_protocols": { - "modified": "2020-05-26T04:51:45.802Z", - "contributors": [ - "Nampt" - ] - }, - "Web/JavaScript/Reference/Operators": { - "modified": "2020-12-07T20:30:20.235Z", - "contributors": [ - "myakura" - ] - }, - "Web/JavaScript/Reference/Operators/Arithmetic_Operators": { - "modified": "2020-10-15T22:08:01.208Z", - "contributors": [ - "quytran", - "PurpleLover" - ] - }, - "Web/JavaScript/Reference/Operators/Conditional_Operator": { - "modified": "2020-10-15T22:14:02.394Z", - "contributors": [ - "PurpleLover" - ] - }, - "Web/JavaScript/Reference/Operators/Operator_Precedence": { - "modified": "2020-08-27T08:06:36.545Z", - "contributors": [ - "maohiemgia" - ] - }, - "Web/JavaScript/Reference/Operators/delete": { - "modified": "2020-10-15T22:14:20.310Z", - "contributors": [ - "PurpleLover" - ] - }, - "Web/JavaScript/Reference/Operators/function": { - "modified": "2020-03-12T19:45:37.072Z", - "contributors": [ - "anhnc" - ] - }, - "Web/JavaScript/Reference/Operators/super": { - "modified": "2020-03-12T19:44:42.893Z", - "contributors": [ - "Hongarc", - "thanhvk" - ] - }, - "Web/JavaScript/Reference/Operators/this": { - "modified": "2020-10-15T22:27:52.713Z", - "contributors": [ - "Nampt" - ] - }, - "Web/JavaScript/Reference/Operators/typeof": { - "modified": "2020-10-15T22:22:34.553Z", - "contributors": [ - "quocdungabc" - ] - }, - "Web/JavaScript/Reference/Statements": { - "modified": "2020-03-12T19:46:51.165Z", - "contributors": [ - "kyrylkov" - ] - }, - "Web/JavaScript/Reference/Statements/async_function": { - "modified": "2020-10-15T22:27:40.489Z", - "contributors": [ - "jasonwest" - ] - }, - "Web/JavaScript/Reference/Statements/continue": { - "modified": "2020-10-15T22:27:29.352Z", - "contributors": [ - "jasonwest" - ] - }, - "Web/JavaScript/Reference/Statements/do...while": { - "modified": "2020-10-15T22:21:07.645Z", - "contributors": [ - "namnt2203" - ] - }, - "Web/JavaScript/Reference/Statements/export": { - "modified": "2020-03-12T19:46:48.007Z", - "contributors": [ - "hieuns" - ] - }, - "Web/JavaScript/Reference/Statements/for": { - "modified": "2020-10-15T22:28:14.569Z", - "contributors": [ - "quetoihatinh1" - ] - }, - "Web/JavaScript/Reference/Statements/for...of": { - "modified": "2020-10-15T22:10:14.952Z", - "contributors": [ - "hoadev", - "quycaokien22", - "quytran", - "luubinhan" - ] - }, - "Web/JavaScript/Reference/Statements/function*": { - "modified": "2020-10-31T12:14:21.978Z", - "contributors": [ - "tada_nguyen", - "nhn6298", - "luubinhan" - ] - }, - "Web/JavaScript/Reference/Statements/throw": { - "modified": "2020-10-15T22:09:01.104Z", - "contributors": [ - "luubinhan" - ] - }, - "Web/JavaScript/Reference/Template_literals": { - "modified": "2020-10-15T22:25:05.084Z", - "contributors": [ - "baodainguyen" - ] - }, - "Web/Reference": { - "modified": "2019-03-23T22:18:10.312Z", - "contributors": [ - "andrealeone" - ] - }, - "Web/Reference/API": { - "modified": "2019-03-23T22:18:06.141Z", - "contributors": [ - "wapcuckhung" - ] - }, - "Web/SVG": { - "modified": "2019-03-23T22:10:16.988Z", - "contributors": [ - "lrh3321" - ] - }, - "Web/SVG/Tutorial": { - "modified": "2019-03-23T22:10:17.118Z", - "contributors": [ - "chrisdavidmills" - ] - }, - "Web/SVG/Tutorial/SVG_Image_Tag": { - "modified": "2019-03-23T22:10:14.144Z", - "contributors": [ - "nguyenvanduocit" - ] - }, - "Web/Tutorials": { - "modified": "2019-03-23T22:06:55.249Z", - "contributors": [ - "summerpupil", - "thonggtcc" - ] - } -} \ No newline at end of file diff --git a/files/vi/archive/b2g_os/index.html b/files/vi/archive/b2g_os/index.html deleted file mode 100644 index bc54599bd1..0000000000 --- a/files/vi/archive/b2g_os/index.html +++ /dev/null @@ -1,218 +0,0 @@ ---- -title: B2G OS -slug: Archive/B2G_OS -tags: - - B2G - - Firefox OS - - Gaia - - Starting FirefoxOS -translation_of: Archive/B2G_OS ---- -
B2G OS is (was) a complete, standalone operating system for the open web. It is an open source project developed by the Mozilla community and forms the basis of Firefox OS products. As of 2017 it is no longer maintained.
- -

B2G OS is a community maintained open source operating system for smartphones, tablets, smart TVs and other connected devices. The project was started in 2011 and is based on the Linux kernel and Gecko rendering engine. The entire user interface is built using web technologies (HTML, CSS and JavaScript) and can be used to launch and use web applications. Since Mozilla discontinued their commercial Firefox OS smartphone program the smartphone part of the project is entirely maintained by Mozilla's volunteer community, and branded as B2G OS.

- -

- -

Index of pages

- -
-
Automated Testing of B2G OS
-
This page offers articles that provide information about various aspects of testing B2G OS, including running different tests, automation, and result reporting and tracking.
-
B2G OS add-ons
-
You should follow the below steps to get set up to start developing extensions.
-
B2G OS APIs
-
List of B2G OS APIs
-
B2G OS architecture
-
This article is a high-level overview of the architecture of the B2G OS platform, introducing key concepts and explaining how its components interact at a basic level.
-
B2G OS build prerequisites
-
Before obtaining the code to build B2G OS, even if you are simply trying to build Gaia, you need a properly configured build system — this page shows you how. You can currently build on 64-bit Linux distributions and OS X.
-
B2G OS phone guide
-
This section contains developer information relevant to specific phones that run B2G OS — both developer and consumer devices.
-
Building and installing B2G OS
-
The articles listed on this page will guide you through building and installing B2G OS on an emulator or compatible device, or the Gaia user interface in the Firefox browser.
-
Building B2G OS
-
Once you've set up your build system and performed your initial pull and configure the code, you can build Boot to Gecko. This guide explains how.
-
Building the B2G OS Simulator
-
Just like Firefox Nightlies, the B2G OS simulator desktop client (identified by b2g-) is automatically built every day from the latest source code. The latest build is available from the Mozilla FTP server. Be sure to pick the latest version and the right archive for your operating system. This lets you bypass having to build it yourself. In addition, you don't have to download Gaia on your own either.
-
Choosing how to run Gaia or B2G
-
Depending on your specific needs, you have an assortment of options to consider when experimenting with Firefox OS or the Gaia user interface. You can choose among the following options; each has its advantages and disadvantages to consider, and some are more flexible than others.
-
Crash Reporting Guide for Firefox OS Partners
-
Mozilla has a world-class system for collecting, analyzing, and fixing crashes and other stability issues such as hangs. Firefox OS partners need to work with Mozilla to correctly enable crash reporting and upload symbols.
-
Customization with the .userconfig file
-
The .userconfig file isn't checked into source code control, so your changes won't be overwritten when you update your source tree. It needs to be created in the root of the B2G tree; that is, in the same directory as flash.sh, build.sh, and so forth. You should add this before you run your config and build steps.
-
Debugging on Firefox OS
-
There are two main types of debugging you'll want to with Firefox OS: debugging apps, and debugging other aspects of the system.
-
Developer Mode
-
The current Firefox OS permissions model precludes modification and installation of certified/internal apps, which makes some device APIs completely unavailable to Marketplace and web apps. Developer Mode (DM) allows the user to indicate that they would like to relax the permissions model and expose all device APIs to content, as well as setting a group of related preferences. This article provides a high-level overview.
-
Developing Firefox OS
-
This section provides useful documentation covering different ways in which Firefox OS (codename Boot2Gecko, or B2G) can be modified/customized during the build process, and how you can help to develop the low level platform areas such as Gecko and Gonk.
-
Firefox OS apps
-
This section of the Firefox OS docs covers the specific techniques required — and available tools — for building Firefox OS apps. You'll find a number of details below, from Firefox OS building blocks/web components, to device APIs and App installation.
-
Firefox OS board guide
-
This section contains developer information relevant to specific phones that run Firefox OS — both developer and consumer devices.
-
Firefox OS developer release notes
-
This section provides articles covering each new release of Gaia and Gecko for Firefox OS, explaining what features were added and bugs eliminated in each update. There is also a linked summary table showing what APIs are supported by each version of Firefox OS.
-
Firefox OS security
-
The following articles cover security-related topics about Firefox OS. This includes overall security features as well as application security and how the install process is kept secure.
-
Firefox OS Simulator
-
The Firefox OS Simulator is a version of the higher layers of Firefox OS that simulates a Firefox OS device, but runs on the desktop. This means that in many cases, you don't need a real device to test and debug your app. It runs in a window the same size as a Firefox OS device, includes the Firefox OS user interface and built-in apps, and simulates many of the Firefox OS device APIs.
-
Firefox OS usage tips
-
Explains all of the developer features on the phone and what they do (Settings > Device information > More information > Developer)
-
Gaia
-
Gaia is B2G OS's user interface and suite of default apps: it includes the lock screen, home screen, dialer, and other applications. Essentially, Gaia is a set of complex web apps that runs on top of the B2G OS platform. This set of articles covers all you need to know to contribute to the Gaia project.
-
Installing B2G OS on a mobile device
-
Once you've built Boot to Gecko for a supported mobile device, you can install it. This article will guide you through the process.
-
Introduction to Firefox OS
-
This set of documentation is aimed mainly at web developers and platform developers who want to learn how Firefox OS works, how to contribute to the project, and how to build their own custom versions of the software and install it on devices. For those who want to create and distribute their own web apps, the App Center and Marketplace Zone are good places to go.
-
Mulet
-
Following this guide you're going to run Gaia inside of a special build of Firefox called Firefox Mulet. This gives you the advantages of having a rapid development cycle, as well as standard web development tools and debuggers available to work with. First of all, you need to have the Gaia repo cloned on your machine and build your own profile. Then, you have to install mulet and run it, passing your Gaia profile as the profile to use.
-
Open web apps quickstart
-
Quickstart information on coding Open Web Apps.
-
Pandaboard
-
This is a guide to setting up Firefox OS on a PandaBoard. The PandaBoard is a low-cost OMAP 4 based development board for developing mobile operating systems.
-
PasscodeHelper Internals
-
PasscodeHelper is a Gaia helper library for modifying and checking the Firefox OS lockscreen passcode (i.e., pin) from within Gaia, performing functions such as checking whether an entered passcode is correct, and changing the code. This article documents how PasscodeHelper works.
-
Porting B2G OS
-
This page lists the available resources for porting B2GOS.
-
Preparing for your first B2G build
-
Depending on your internet connection, the configuration steps may take several hours to download everything you need to build B2G OS. Waiting is not as fun as doing, so after you have read through this page and have kicked off the configure script, consider using the time to set up and try out the B2G OS simulator, begin familiarizing yourself with Documentation for app developers including Designing and Building an App, or familiarize yourself with the information on upcoming steps.
-
Resources
-
Resources for App hackers, as generated from our workshops
-
Running tests on Firefox OS: A guide for developers
-
If you are a Gecko developer, then you should review the Firefox OS-specific documentation for the test automation you are already familar with: mochitest, reftest, and xpcshell.
-
The B2G OS platform
-
The B2G OS platform consists of many components. While you don't need to understand its architecture in order to build applications that run on B2G OS, if you're working on developing or porting the platform — or are simply curious — the following documentation may be of interest to you.
-
Troubleshooting B2G OS
-
This article provides tips for resolving common problems you may have while using B2G OS.
-
Using the App Manager
-
The App Manager is a tool for Firefox Desktop which provides a number of useful tools to help developers test, deploy and debug HTML5 web apps on Firefox OS phones & Simulator, directly from Firefox browser. This page documents how to use the App Manager.
-
Using the B2G emulators
-
This article provides a brief guide to some key things you should know when using the boot to Gecko emulators. This doesn't appear to be a complete user manual; instead, it simply tells you a few useful things that you might not learn on your own.
-
Web applications
-
This page is intended to be a first, non thorough, attempt to collect web apps.
-
Web Bluetooth API (Firefox OS)
-
The Web Bluetooth API lets an open web app discover, pair with, and connect to Bluetooth devices. As it is a completely experimental and non-standard API, the Bluetooth API is currently available for certified applications only. However, there is some traction to have such an API available for regular Web content; this will be discussed as part of the W3C's System Applications Working Group.
-
Web Telephony API
-
Web Telephony is an API that makes it possible for web content to handle voice phone calls using JavaScript.
-
- -

Old page content

- -
-

Note: Call for contribution & Call for App adoption has been made to gather more people, feel free to share it !

-
- -
-
-

How you can help

- -
    -
  • File & fix bugs (meta bug is bug 1252143)
  • -
  • Help us fix failing tests
  • -
  • Port a gaia smartphone app: -
      -
    1. Turn it into a webapp (or)
    2. -
    3. Turn it into chrome:// (why?) & report back
    4. -
    -
  • -
  • Port B2G OS to your phone or help us to maintain a port
  • -
  • Help improve translate this documentation & wiki
  • -
  • Propose & implement new smartphone features
  • -
-
- -
-

Get involved

- - - -

To participate in meetings and community Working Groups meetings, register on this Calendar. They are announced on Discourse, where you can find information about how to attend & notes.

-
- -
-

Compatible devices

- - - -

For more information see this page.
- Flash you device easily with B2G installer.
- Your device is not in the list ? Try Mulet on desktop.

- -

*WIP = Work In Progress.

-
-
- - diff --git a/files/vi/archive/b2g_os/platform/gaia/hacking/index.html b/files/vi/archive/b2g_os/platform/gaia/hacking/index.html deleted file mode 100644 index c8e9a219f2..0000000000 --- a/files/vi/archive/b2g_os/platform/gaia/hacking/index.html +++ /dev/null @@ -1,332 +0,0 @@ ---- -title: Hacking Gaia -slug: Archive/B2G_OS/Platform/Gaia/Hacking -translation_of: Firefox_OS/Developing_Gaia ---- -
-

Trang này nhằm tới các nhà phát triển của dự án Gaia. Nếu bạn đang tìm kiếm thông tin về việc làm thế nào để tạo dựng và chạy hệ điều hành Firefox( Firefox OS),  bạn nên tham khảo Building and installing Firefox OS page thay thế.

-
-
-

Gaia là bộ sưu tập những web apps nhằm tạo nên bộ mặt cho Firefox OS. Mọi thứ bạn thấy trên màn hình Firefox được xây dựng bằng các công nghệ Web mở. Bao gồm màn hình chính (home screen) và toàn bộ các ứng dụng mặc định. Bài viết này cung cấp một hướng dẫn chi tiết để tinh chỉnh, sửa đổi cho Gaia.

-
-

Nhận mã nguồn

-

Để nhận mã nguồn của Gaia fork us on GitHub và sau đó tạo bản sao fork của bạn bằng cách sử dụng git.

-
$ git clone https://github.com/mozilla-b2g/gaia.git
-

Chạy Gaia

-

Bạn có thể chạy Gaia trên màn hình Desktop, trong Firefox hoặc trên một thiết bị di động tích hợp sẵn.

-

Màn hình nền B2G

-

Màn hình B2G là một loại màn hình nền xây dựng dựa trên ứng dụng thời gian chạy (runtime app) dùng trong các thiết bị sử dụng hệ điều hành Firefox, cái mà bạn có thể dùng để chạy Gaia trên màn hình nền máy tính của bạn.

-

Bạn có thể tải về một bản nightly build của B2G desktop từ  Firefox Nightly site. Dựa trên phiên bản mà bạn đang nhắm tới, bạn có thể muốn một phiên bản cụ thể-mới nhất nào đó của mozilla-b2g18. Đã có sẵn các phiên bản cho Linux(32 bit và 64 bit), Mac OS X và Windows.

-

Nightly builds gồm phiên bản hiện tại của Gaia. Sau khi bạn đã tải về bản nén, tất cả những gì bạn cần làm là giải nén nó vào một thư mục và chạy tệp b2g trong thư mục vừa được giải nén.

-
$ cd b2g
-$ ./b2g
-

Để chạy B2G với phiên bản Gaia dành cho nhà phát triển, đầu tiên bạn cần tạo một hồ sơ cá nhân từ bản sao của bạn:

-
$ cd /path/to/gaia
-$ DEBUG=1 DESKTOP=0 make
-

Việc này sẽ tạo một mục trong thư mục gaia của bạn, tên là profile. Phần DEBUG có vai trò như ứng dụng chủ nhà trên máy chủ web tích hợp sẵn, chứ không phải gói ứng dụng mặc định cần phải làm lại gói sau mỗi lần thay đổi. Bạn có thể tìm đường dẫn đến thư mục hồ sơ bằng cách nhìn vào dòng cuối của thư mục xuất sau khi chạy dòng lệnh trên, nó sẽ phải trông như thế này:

-
Profile Ready: please run [b2g|firefox] -profile /path/to/gaia/profile
-

Sau đó bạn có thể chạy màn hình nền B2G với hồ sơ bạn vừa tạo như sau:

-
$ ./b2g /path/to/gaia/profile
-

Nếu muốn bạn có thể tạo màn hình B2G của chính mình từ nguồn.

-
-

Ghi chú : Trên Mac OS X, tệp b2g sẽ nằm trong B2G.app. Bạn sẽ cần chạy:

-

./B2G.app/Contents/MacOS/b2g /path/to/gaia/profile

-
-

Sử dụng Gaia trong Firefox

-

Gaia cũng có thể chạy trong Firefox. Nó sẽ cho bạn một số lợi ích trong việc có một vòng tròn phát triển (development cycle) siêu tốc, cùng với các công cụ phát triển Web tiêu chuẩn và các debugger.Xem Quickstart guide to Gaia development trong Firefox để biết chi tiết cách làm.

-

Sử dụng Gaia trên các thiết bị

-

Nếu bạn có một thiết bị di động tích hợp sẵn, bạn có thể chạy Gaia bằng cách cài nó vào hệ điều hành Firefox. Xem Building and installing Firefox OS để biết thêm chi tiết. Chúng tôi cũng có những tài liệu về how to test Firefox OS.

-

Kiểm tra đơn vị

-

Xem Gaia unit tests để biết các tài liệu về việc làm thế nào để tạo và chạy quá trình kiểm tra đơn vị cho Gaia.

-

Nộp hồ sơ lỗi

-

Các hồ sơ lỗi được nộp cho Bugzilla qua Firefox OS > Gaia. Đệ trình một lỗi mới qua tính năng của Gaia (hoặc một trong những tính năng phụ).

-

Đóng góp cho Gaia

-

Mozilla dựa trên những đóng góp từ nguồn cộng đồng mở giúp phát triển các ứng dụng Gaia, và chúng tôi mừng là bạn đã tham gia.

-

Một vài chỗ thú vị để tìm lỗi và bắt đầu làm việc:

- -

Phong cách mã hóa cơ bản

- -

Các điều cần biết

-

Sai:

-
if (expression) doSomething();
-
-

Đúng:

-
if (expression) {
-  doSomething();
-}
-
-

Nếu bạn làm việc trên ứng dụng hệ thống, xem hướng dẫn tại đây.

-

Trước khi đệ trình một bản patch, chúng tôi khuyến nghị bạn hãy sử dụng lệnh gjslint on it to check for any style errors:

-
gjslint --nojsdoc my_file.js
-

Submitting a patch

-

First file or assign a bug to yourself on Bugzilla, you'll need a Bugzilla account.

-

Then create a branch on your fork of Gaia:

-
$ git branch branchname
-$ git checkout branchname
-

Commit your changes:

-
$ git add /file/to/add
-$ git commit -m "Bug XXXXX - Fix the broken Gaia and save the world"
-

Push your branch:

-
$ git push origin branchname
-

Send a pull request by navigating to the branch in your fork on GitHub and finding the pull request button.

-
-

Note: Except under unusual circumstances, patches should be landing first on the master branch, not a release branch like v1-train, v1.3, etc. If they need to land on a release branch, they must go through the usual approval process as outlined on the B2G Landing wiki page.

-
-

To request a review of your patch, attach the pull request to the bug in Bugzilla by referencing the URL of the pull request, and set the review ("r") flag to "?" and enter the bugzilla ID of one of the module owners and peers (very important - otherwise your bug will not likely be seen by anyone). The Github tweaks for bugzilla extension on AMO can help automate this process by automatically creating the attachment and adding it to the bug; you will still need to set the review flag on Bugzilla.

-

The reviewer may ask you to make some changes; you may need to amend the original commit and force push it to the original branch/pull request. Once they're happy with your patch, they will merge it into the master branch for you. Before they do this they would prefer it if you could squash all your changes into a single commit, so your contribution can be tracked easily.

-

The person who merges the commit (usually the reviewer) would add a r= flag in the comment of the merge commit.

-

Make options

-

you use the make command inside the Gaia repo to create a Gaia profile that can be loaded onto your device or run in a B2G Desktop build. This section looks in detail at the different make options available.

-

There are many environment variables present in the Makefile. Do not depend on them as they may be removed in the future.

-

Created profiles are stored in /gaia/profile, and contain the following items:

- -
-

Note: When you've already made a profile and you want to build a new one, you must delete the existing profile directory before trying to generate a new one.

-
-

Default

-
make
-

Push to device

-
make install-gaia
-
-make reset-gaia
-

With ADB (Android Debug Bridge) setup, these make targets will push Gaia to the device. reset-gaia will purge all existing profiles, web apps and database entries (a new settings database will be initialized) before pushing Gaia from your working directory to your device ; install-gaia will just push updates of Gaia. There is also a  third option:

-
make profile
-

pushes only the existing profile.

-

Production make

-
PRODUCTION=1 make
-

This creates a production build of Gaia:

- -
-

Note: You can also use the alias make production.

-
-

Debug make

-
DEBUG=1 make
-

The DEBUG variable runs Gaia as hosted apps on a built-in web server on a specific GAIA_PORT, rather than the default of packaged apps which have to be re-packaged after every change; this makes things easier to test. Launching the profile with the latest Firefox Nightly will also give you nice B2G specific panels on the Firefox Developer Tools.

-

In addition:

- -

Device debug make

-
DEVICE_DEBUG=1 make
-

This disables screen lock on the device, and enables debugging with the ADB tool, so is useful for device debugging.

-

In Firefox OS version > 1.2, specify this param when you want to debug Firefox OS webapps with the App Manager.

-

Enable remote debugging

-
REMOTE_DEBUGGER=1
-

This enables remote debugging on the device, the same as using the option in the developer settings.

-

Debug desktop make

-
DEBUG=1 DESKTOP=0 make
-

This option creates a desktop debug version, for running inside B2G desktop.

-

Build specific apps

-
APP=system make
-
-APP=system make install-gaia
-

With a profile already exists, APP allow you to specify which app to re-package, instead of re-packing and re-push all the Gaia apps.

-

Official Mozilla branding make

-
MOZILLA_OFFICIAL=1 make
-

Use this to make an official Mozilla-branded build.

-

Dogfood make

-
DOGFOOD=1 make
-

Dogfood is turned on.

-

System apps make

-
B2G_SYSTEM_APPS=1 make
-

This environment variable lets you push an app to /system/b2g instead of /data/local. You should use this when you work with a user build. This variable is automatically set when running make production. This can be used for install-gaia or reset-gaia too.

-

JavaScript optimization make

-
GAIA_OPTIMIZE=1 make
-

This triggers an optimization pass on Gaia's JavaScript, concatenating/compressing the files. This is automatically set when running make production. This can be used for install-gaia or reset-gaia too.

-

High resolution image assets

-
GAIA_DEV_PIXELS_PER_PX=1.5 make
-

When packaging the app, this option replaces images with their *@1.5x.(gif|jpg|png) equivalents if such images exist. You need to use the above option as part of a standard make command, for example:

-
GAIA_DEV_PIXELS_PER_PX=1.5 make reset-gaia
-
-GAIA_DEV_PIXELS_PER_PX=1.5 make install-gaia
-

Gaia is currently targetting the following screen resolutions:

- -

use GAIA_DEV_PIXELS_PER_PX to make sure the images looks sharp on qHD and WVGA devices. see A pixel is not a pixel for more information about device pixels per css pixels.

-

Disable first time user guide

-
NOFTU=1
-
-

Disable the first time user guide with this environment variable.

-

Distribution and market customization build

-
GAIA_DISTRIBUTION_DIR=./dir
-

Read Market Customizations for more details.

-

Reference Workloads

-

Reference workloads allow developers/testers to quickly install a large amount of data in several applications, typically on a newly-flashed phone.

-

The commands are (from the gaia directory):

-
make reference-workload-light
- -
make reference-workload-medium
- -
make reference-workload-heavy
- -
make reference-workload-x-heavy
- -

These targets accept the APP environment variable, or an APPS environment variable that should contain the app names separated by a space, e.g.:

-
APP=sms make reference-workload-light
-APPS="sms communications/contacts" make reference-workload-heavy
-
-

The apps available are:

-
APPS="gallery music video communications/contacts sms communications/dialer"
-

In order to install music (songs) with reference workloads, the utility mid3v2 must be installed. This utility can be installed with:

-
sudo apt-get install python-mutagen
-

If you run Fedora or RHEL instead, use:

-
sudo yum install python-mutagen
-

Documentation make

-

Gaia docs can be built, via jsdoc3. To generate these, you can use the following command:

-
make docs
-

Enabling IME layout and dictionaries

-

To enable keyboard IME layout and dictionaries enabled, use following command structure:

-
GAIA_KEYBOARD_LAYOUTS=en,zh-Hant-Zhuyin,el,de,fr,zh-Hans-Pinyin make
-

Customizing the build-time apps

-

The apps that run on Firefox OS are all contained within the Gaia source tree, in one of two locations:

- -
-

Note: If you are building B2G rather than Gaia, the paths will of course have B2G/ on the front, e.g. B2G/gaia/apps and B2G/gaia/external-apps.

-
-

If you want to omit some of these apps from your build of Gaia/B2G, you can do this in a few different ways:

-
    -
  1. -

    The "brute force" method is to simply delete the apps you don't want to be present at build time, before building.

    -
  2. -
  3. -

    The more refined method is to edit the gaia/build/config/apps-*.list files to include the paths to the apps you want to include at build time. For example, gaia/build/config/apps-production.list looks something like this:

    -
    apps/*
    -external-apps/*
    -outoftree_apps/*
    -

    But you could also include specific apps rather than just picking them all, for example:

    -
    apps/clock
    -

    The mechanism for choosing which apps-*.list file is used during the build to determine the available apps is contained inside gaia/Makefile:

    -
    GAIA_APP_TARGET?=engineering
    -...
    -ifeq ($(MAKECMDGOALS), demo)
    -GAIA_DOMAIN=thisdomaindoesnotexist.org
    -GAIA_APP_TARGET=demo
    -else ifeq ($(MAKECMDGOALS), dogfood)
    -DOGFOOD=1
    -else ifeq ($(MAKECMDGOALS), production)
    -PRODUCTION=1
    -endif
    -...
    -ifeq ($(PRODUCTION), 1)
    -GAIA_OPTIMIZE=1
    -GAIA_APP_TARGET=production
    -endif
    -
    -ifeq ($(DOGFOOD), 1)
    -GAIA_APP_TARGET=dogfood
    -endif
    -...
    -ifndef GAIA_APP_CONFIG
    -GAIA_APP_CONFIG=build$(SEP)config$(SEP)apps-$(GAIA_APP_TARGET).list
    -endif
    -

    Initially, the GAIA_APP_TARGET variable is set to engineering, so by default building gaia from source will use app-engineering.list (which includes all the tests, demos, etc.):

    -
    make
    -
    -

    To specify usage of a different apps list you specify different options when running the make command. To build with apps-production.list, for example, you'd use

    -
    PRODUCTION=1 make
    -
      -
    • If you specifically build with DEMO=1 specified, then it will use apps-demo.list.
    • -
    • If you specifically build with DOGFOOD=1 specified, then it will use apps-dogfood.list.
    • -
    • You can completely override the decision by using GAIA_APP_CONFIG and providing your own apps-*.list file.
    • -
    -

    gaia/Android.mk contains these lines:

    -
    ifneq ($(filter user userdebug, $(TARGET_BUILD_VARIANT)),)
    -GAIA_MAKE_FLAGS += PRODUCTION=1
    -B2G_SYSTEM_APPS := 1
    -endif
    -

    When you build, if VARIANT=user or VARIANT=userdebug are set (these wind up getting reflected in the TARGET_BUILD_VARIANT variable), PRODUCTION=1 is automatically set when building gaia.

    -
  4. -
  5. -

    The third, and most refined (but most complex) method is to use customizations. These allow you to specify build-time customization instructions in separate difrectories, without modifying the core Gaia repo. You can include your own customizations in distinct directories, or use the preexisting directories that come with the source.

    -

    For example, the basic Firefox tablet customized app list is defined in apps.list under the distribution_tablet folder (gaia/distribution_tablet). These customizations can be applied at build time using options like this:

    -
    GAIA_DISTRIBUTION_DIR=distribution_tablet make
    -
    -

    Note: Customizations is its own separate topic entirely. To learn more about it, read Market Customizations.

    -
    -
    -

    Note: If you want to include custom external apps as part of your Gaia build, you need to build them in a specific way, and then place them into the gaia/external-apps/ folder. Read Building Prebundled web apps to find out how.

    -
    -
  6. -
-
-

Important: If you are a device vendor creating a custom B2G/Gaia build for distribution, you need to satisfy certain criteria before you are allowed to include the Firefox Marketplace app on your phones/tablets/etc. Contact Mozilla for more details.

-
-

Contacting the Team

- diff --git a/files/vi/archive/b2g_os/platform/gaia/index.html b/files/vi/archive/b2g_os/platform/gaia/index.html deleted file mode 100644 index 55c335022e..0000000000 --- a/files/vi/archive/b2g_os/platform/gaia/index.html +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: Gaia -slug: Archive/B2G_OS/Platform/Gaia -tags: - - B2G - - Gaia - - Mobile - - NeedsTranslation - - TopicStub -translation_of: Archive/B2G_OS/Platform/Gaia ---- -

Gaia is the user interface level of Firefox OS. Everything that appears on the screen after Firefox OS starts up is drawn by Gaia, including the lock screen, home screen, dialer, and other applications. Gaia is written entirely in HTML, CSS, and JavaScript. Its only interface to the underlying operating system and hardware is through standard Web APIs, which are implemented by Gecko.

- -

Because of this design, not only can Gaia be run on Firefox OS devices, but also on other operating systems and in other web browsers (albeit with potentially degraded functionality depending on the capabilities of the browser).

- -

Third party applications onto the device installed alongside Gaia can be launched by Gaia.

- - - - - - - - -
-

Documentation about Gaia

- -
-
Introduction to Gaia
-
Gaia is the user interface application for Firefox OS devices; it's simply a Web application running atop the Firefox OS software stack. This guide introduces Gaia at a high level.
-
Gaia apps
-
Information on each of the default apps available in the Gaia family, including tips on how to use them, and how to modify them.
-
Gaia hacking guide
-
A guide to hacking and modifying the Gaia interface.
-
Gaia Build System Primer
-
Most of the meaningful work for the build steps are performed by the scripts that live inside the build/ subdirectory of Gaia.
-
Gaia Hacking Tips And FAQ
-
A list of helpful tips and frequently asked questions around hacking on Gaia.
-
- -

View All...

-
- - - - -

Resources

- - -
diff --git a/files/vi/archive/b2g_os/platform/index.html b/files/vi/archive/b2g_os/platform/index.html deleted file mode 100644 index 5708ef1ee5..0000000000 --- a/files/vi/archive/b2g_os/platform/index.html +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: The Firefox OS platform -slug: Archive/B2G_OS/Platform -tags: - - B2G - - Firefox OS - - Landing - - NeedsTranslation - - TopicStub -translation_of: Archive/B2G_OS/Platform ---- -

The Firefox OS platform consists of many components. While you don't need to understand its architecture in order to build applications that run on Firefox OS, if you're working on developing or porting the platform—or are simply curious—the following documentation may be of interest to you.

- - - - - - - -
-

Documentation about the Firefox OS platform

-
-
- Gaia
-
- Documentation about Gaia, the user interface application for Firefox OS devices; this is a Web application running atop the Firefox OS software stack.
-
- Gonk
-
- Documentation about Gonk, the operating system layer underneath Gaia. This consists of a Linux kernel and a hardware abstraction layer to which Gecko communicates.
-
- Gecko
-
- Gecko is the layer of Firefox OS that provides the same open web standards implementation used by Firefox and Thunderbird, as well as many other applications.
-
-  Security
-
- Documentation about security in Firefox OS; this includes topics about security devices from every perspective: for app developers, device integrators, and so forth.
-
- Feature support chart
-
- A chart of which features are available in which types of Firefox OS builds.
-
- Firefox OS architecture overview
-
- An overview of how Firefox OS is structured internally; this is primarily of interest to platform developers and people doing porting work.
-
- Firefox OS apps architecture
-
- An overview of the application model on Firefox OS.
-
- Firefox OS settings list
-
- A list of common setting names that can be used with the Settings API.
-
-

View All...

-
-

Getting help from the community

-

If you're working with Firefox OS, or developing applications you'd like to run on Firefox OS devices, there are community resources to help you!

-
    -
  • Consult the Boot to Gecko project forum: {{ DiscussionList("dev-b2g", "mozilla.dev.b2g") }}
  • -
-
    -
  • Ask your question on Mozilla's Boot to Gecko IRC channel: #b2g
  • -
-

Don't forget about the netiquette...

-
- - -

Resources

- -
-

 

diff --git a/files/vi/archive/b2g_os/simulator/index.html b/files/vi/archive/b2g_os/simulator/index.html deleted file mode 100644 index 31251142c9..0000000000 --- a/files/vi/archive/b2g_os/simulator/index.html +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: Môi trường giả lập Firefox OS -slug: Archive/B2G_OS/Simulator -translation_of: Archive/B2G_OS/Simulator ---- -
-

Trang này mô tả trình giả lập của Firefox OS dành cho các lập trình viên sử dụng phiên bản Firefox OS từ 1.2 trở lên. Nếu bạn đang thiết kế ứng dụng cho phiên bản 1.1, bạn nên sử dụng Trình giả lập cho Firefox OS 1.1.

-
-

Trình giả lập Firefox OS cho phép chạy hệ điều hành này trên máy tính thay vì các thiết bị được thiết kế chuyên biệt. Điều đó có nghĩa là bạn không cần thiết phải có một thiết bị thực để kiểm tra và chạy thử ứng dụng. Nó cho phép bạn chạy ứng dụng với kích cỡ màn hình tương tự trên thiết bị thực tế chạt Firefox OS, mô phỏng lại các giao diện người dùng, cài sẵn một số ứng dụng cũng như cung cấp các hàm APIs cần thiết.

-

Trình giả lập được sử dụng như một trình cắm của trình duyệt Firefox. Ngay sau khi hoàn tất tải và cài đặt trình cắm này, bạn đã có thể sử dụng, thử nghiệm ứng dụng trên đó cũng như cài đặt thêm các công cụ phát triển cần thiết bằng cách sử dụng App Manager.

-

Cài đặt

-

Để cài đặt trình giả lập, nhấn nút bên dưới. Có nhiều phiên bản để bạn có thể lựa chọn, và chúng tôi khuyên bạn nên cài đặt tất cả chúng.):

-

Cài đặt trình giả lập

-

Để khởi chạy trình giả lập, xem instructions in the App Manager documentation. Sau khi hoàn tất quá trình cài đặt trình giả lập, bản có ngay lập tức cài đặt và quản lý ứng dụng thông qua tiện ích App Manager, tương tự như bạn đang sử dụng một thiết bị chạy Firefox OS

-
-

Cảnh báo: Các phiên bản 1.2 và 1,3 hiện đang được ghi nhận xảy ra lỗi đối với việc Gecko ghi nhận sai phản hồi người dùng: xem {{ Bug("964598") }} để biết thêm chi tiết.

-
-

Giao diện

-

Trình giả lập được thiết kế chạy trên một cửa sổ độc lập, kích thước giả lập là 320x480 pixels. Để mô phỏng các thao tác bấm chạm trên màn hình cảm ứng, bạn có thể sử click, kéo thả chuột trên trình giả lập. Bằng cách bấm và kéo thả từ phải qua trái trên màn hình chính, bạn có thể nhìn thấy các ứng dụng được cài đặt sẵn cũng như các ứng dụng bạn đã cài đặt lên:

-

-

Trình giả lập cung cấp 2 nút bấm điều khiển phía bên dưới:

- -

Giới hạn

-

Nên chú ý rằng trình giả lập không phải là một giải pháp hoàn hảo.

-

Giới hạn phần cứng

-

Bạn sẽ không thể giả lập Firefox OS với các thông tin về phần cứng như bộ nhớ trống, tốc độ xử lý của CPU ...

-

Mã hóa audio/video

-

Một số định dạng audio/video liên quan đến các bộ xử lý trên phần cứng sẽ không được giả lập:

- -

Điều đó có nghĩa là bạn sẽ không thể phát video trên ứng dụng đang phát triển hoặc sử dụng từ các website phát vieo dựa trên các nền tảng công nghệ trên.

-

Các hàm API không được hỗ trợ

-

Một số hàm API chạy trên thiết bị sẽ không được hỗ trợ, nguyên nhân là do bạn sẽ không có các phần cứng phù hợp trên máy tính để sử dụng nó. Chúng tôi đã thiết kế bổ xung một số hàm API ví dụ như liên quan tới hệ thống định vị, và chúng tôi mong muốn sẽ hỗ trợ được nhiều hơn nữa trong tương lai. Tuy vậy, tại thời điểm hiện tại, những hàm API sau chưa được hỗ trợ, việc sử dụng chúng trên môi trường giả lập có thể sinh ra nhiều lỗi không dự báo trước:

- -

Yêu cầu trợ giúp

-

Nếu bạn có câu hỏi, sử dụng các kênh sau dev-developer-tools mailing list hoặc #devtools on irc.mozilla.org.

-

Bật chế độ "verbose logging"

-

Bạn có thể nhận được các tin nhắn lưu trữ từ ứng dụng qua giao diện Web Console, bạn có thể thêm vào ứng dụng sử dụng App Manager. Tuy nhiên nếu bạn muốn bắt những tin nhắn lưu trữ này sớm hơn, ngay khi ứng dụng khởi chạy, trước cả khi giao diện điều khiển được nạp, bạn có thể bật chế độ "verose logging" trên trình giả lập.

-

Vào địa chỉ: about:config và tạo cấu hình mới. Tên cấu hình được đặt theo nguyên tắc tùy theo phiên bản:

- -

Đặt giá trị cho nó bằng 0, khởi chạy bằng cách vô hiệu hóa sau đó bật trở lại. Bạn đã hoàn thành cài đặt và những tin nhắn lưu trữ sẽ được hiển thị trên Browser Console.

diff --git a/files/vi/archive/css3/index.html b/files/vi/archive/css3/index.html deleted file mode 100644 index 4439247ee5..0000000000 --- a/files/vi/archive/css3/index.html +++ /dev/null @@ -1,972 +0,0 @@ ---- -title: CSS3 -slug: Archive/CSS3 -translation_of: Archive/CSS3 ---- -

CSS3 là sự phát triển mới nhất của ngôn ngữ Cascading Style Sheets và nhằm mở rộng CSS2.1. Nó mang đến rất nhiều điều mới mẻ đã được mong đợi từ lâu, như bo tròn góc , đổ bóng, gradients, transitions hoặc animations, cũng như các loại layout mới như multi-columns, flexible box hoặc grid layout. Các phần thử nghiệm có vendor-prefix và nên hoặc là tránh sử dụng trong môi trường production, hoặc là được sử dụng hết sức thận trọng khi cả cú pháp và semantic (ngữ nghĩa) của chúng có thể thay đổi trong tương lai.

- -

Các Module và quá trình tiêu chuẩn hóa

- -

CSS Level 2 đã cần 9 năm, từ tháng Tám 2002 tới tháng Sáu 2011 để đạt trạng thái Recommendation.  Điều này là do thực tế rằng một vài tính năng phụ kéo lại toàn bộ đặc tả kỹ thuật. Để đẩy nhanh tiến độ tiêu chuẩn hóa của các tính năng không quan trọng, CSS Working Group của W3C, trong một quyết định gọi là học thuyết Beijing, đã chia CSS thành các phần nhỏ hơn được gọi là các module . Mỗi một module bây giờ là một phần độc lập của ngôn ngữ và tiến thẳng lên tiến trình chuẩn hóa theo tốc độ của riêng nó. Trong khi một vài module đã thực sự được W3C khuyên dùng, một số khác vẫn đang là các bản dự thảo. Các module mới cũng được thêm khi có nhu cầu mới được xác định.

- -

CSS Modules and Snapshots as defined since CSS3 Chính thức thì, không có tiêu chuẩn CSS3 per se . Mỗi module được tiêu chuẩn hóa một cách độc lập, chuẩn CSS bao gồm CSS2.1 đã được bổ sung và mở rộng bởi các module đã hoàn thiện, không nhất thiết tất cả cùng một cấp độ. Tại mỗi thời điểm, một snapshot của chuẩn CSS có thể được định nghĩa, bằng việc liệt kê CSS2.1 và các module trưởng thành.

- -

Tổ chức W3 định kỳ xuất bản các snapshot như vậy, như năm 2007 hoặc 2010.

- -

Do ngày nay không module nào với một level lớn hơn 3 được chuẩn hóa, điều này sẽ thay đổi trong tương lai. Một vài module, như Selectors 4 hoặc CSS Borders and Background Level 4 thực sự có một Editor's Draft, mặc dù chúng chưa đạt đến tình trạng First Published Working Draft.

- -

Trạng thái các CSS module

- -

Stable modules

- -

Một vài CSS module là thực sự khá ổn định và đã đạt đến một trong ba mức độ khuyến nghị của CSSWG: Candidate Recommendation, Proposed Recommendation hoặc Recommendation. Chúng có thể được sử dụng không cần prefix và khá là ổn định, mặc dù một vài tính năng vẫn có thể bị loại bỏ ở giai đoạn Candidate Recommendation.

- -

Các module này mở rộng cải thiện chỉ dẫn kỹ thuật CSS2.1 cái mà xây dựng nên lõi của chỉ dẫn kỹ thuật. Cùng với nó, chúng là snapshot hiện tại của chí dẫn kỹ thuật CSS.

- - - - - - - - - - - -
{{ SpecName("CSS3 Colors", "", "") }}{{ Spec2("CSS3 Colors") }} từ ngày 7 tháng Sáu, 2011
-

Thêm thuộc tính {{ cssxref("opacity") }}, và các function hsl(), hsla(), rgba(), rgb() để tạo các giá trị {{cssxref("<color>")}}. Nó cũng định nghĩa từ khóa currentColor như là một màu hợp lệ.

- -

Màu transparent bây giờ là một màu thực sự (cảm ơn sự hỗ trợ cho kênh alpha) và bây giờ là tên gọi khác cho rgba(0,0,0,0.0) .

- -

Nó phản đối các từ khóa màu sắc hệ thống cái mà không nên được sử dụng trong môi trường production.

-
- - - - - - - - - - - -
{{ SpecName("CSS3 Selectors", "", "") }}{{ Spec2("CSS3 Selectors") }} từ ngày 29 tháng Chín, 2011
-

Thêm:

- -
    -
  • Substring matching attribute selectors, E[attribute^="value"], E[attribute$="value"], E[attribute*="value"] .
  • -
  • New pseudo-classes: {{ cssxref(":target") }}, {{ cssxref(":enabled") }} and {{ cssxref(":disabled") }}, {{ cssxref(":checked") }}, {{ cssxref(":indeterminate") }}, {{ cssxref(":root") }}, {{ cssxref(":nth-child") }} and {{ cssxref(":nth-last-child") }}, {{ cssxref(":nth-of-type") }} and {{ cssxref(":nth-last-of-type") }}, {{ cssxref(":last-child") }}, {{ cssxref(":first-of-type") }} and {{ cssxref(":last-of-type") }}, {{ cssxref(":only-child") }} and {{ cssxref(":only-of-type") }},{{ cssxref(":empty") }}, and {{ cssxref(":not") }}.
  • -
  • Pseudo-elements bây giờ đã được nhận biết bởi hai dấu hai chấm so với một: :after trở thành {{ cssxref("::after") }}, :before trở thành {{ cssxref("::before") }}, :first-letter trở thành {{ cssxref("::first-letter") }}, and :first-line trở thành {{ cssxref("::first-line") }}.
  • -
  • general sibling combinator mới ( h1~pre ).
  • -
-
- -

The next iteration of the Selectors specification is already in progress, though it still hasn't reached the First Public Working Draft stage.

- - - - - - - - - - - -
{{ SpecName("CSS3 Namespaces", "", "") }}{{ Spec2("CSS3 Namespaces") }} since September 29th, 2011
-

Adds the support for the XML Namespaces by defining the notion of CSS qualified name, using the ' | ' syntax and adding the {{ cssxref("@namespace") }} CSS at-rule.

-
- - - - - - - - - - - -
{{ SpecName("CSS3 Media Queries", "", "") }}{{ Spec2("CSS3 Media Queries") }} since June 19th, 2012
-

Extends the former media type ( print, screen, ) to a full language allowing queries on the device media capabilities like only screen and (color) .

- -

Media queries are not only used in CSS document but also in some attributes of HTML Elements, like the {{ htmlattrxref("media","link") }} attribute of the {{ HTMLElement("link") }} element.

-
- -

The next iteration of this specification is in the work, allowing to tailor a Web site regarding the input methods available on the user agent, with new media features like hover or pointer. Detection of EcmaScript support, using the script media features is also proposed.

- - - - - - - - - - - -
{{ SpecName("CSS3 Style", "", "") }}{{ Spec2("CSS3 Style") }} since November 7th, 2013
Formally defines the syntax of the content of the HTML style global attribute.
- - - - - - - - - - - -
{{ SpecName("CSS3 Backgrounds", "", "") }}{{ Spec2("CSS3 Backgrounds") }}
-

Adds:

- -
    -
  • Support, on backgrounds, for any type of {{cssxref("<image>")}}, and not only for uri() defined ones.
  • -
  • Support for multiple background images.
  • -
  • The {{ cssxref("background-repeat") }} space and round values, and for the 2-value syntax of this CSS property.
  • -
  • The {{ cssxref("background-attachment") }} local value.
  • -
  • The CSS {{ cssxref("background-origin") }}, {{ cssxref("background-size") }}, and {{ cssxref("background-clip") }} properties.
  • -
  • Support for curved border corners, with the CSS {{ cssxref("border-radius") }}, {{ cssxref("border-top-left-radius") }}, {{ cssxref("border-top-right-radius") }}, {{ cssxref("border-bottom-left-radius") }}, and {{ cssxref("border-bottom-right-radius") }} properties.
  • -
  • Support for the use of an {{cssxref("<image>")}} as the border with the CSS {{ cssxref("border-image") }}, {{ cssxref("border-image-source") }}, {{ cssxref("border-image-slice") }}, {{ cssxref("border-image-width") }}, {{ cssxref("border-image-outset") }}, and {{ cssxref("border-image-repeat") }} properties.
  • -
  • Support for shadows of the element with the CSS {{ cssxref("box-shadow") }} property.
  • -
-
- -

The CSS4 iteration of the Backgrounds and Borders specification is already in progress, though it still hasn't reached the First Public Working Draft stage, it plans to add the ability to clip a border (with the CSS {{ cssxref("border-clip") }}, {{ cssxref("border-clip-top") }}, {{ cssxref("border-clip-right") }}, {{ cssxref("border-clip-bottom") }}, and {{ cssxref("border-clip-left") }} properties) or to control the shape of the border in a corner (using the CSS {{ cssxref("border-corner-shape") }} property).

- - - - - - - - - - - -
{{ SpecName("CSS3 Multicol", "", "") }}{{ Spec2("CSS3 Multicol") }}
Adds support for easy multi-column layouts using the CSS {{ cssxref("columns") }}, {{ cssxref("column-count") }}, {{ cssxref("column-fill") }}, {{ cssxref("column-gap") }}, {{ cssxref("column-rule") }}, {{ cssxref("column-rule-color") }}, {{ cssxref("column-rule-style") }}, {{ cssxref("column-rule-width") }}, {{ cssxref("column-span") }}, {{ cssxref("column-width") }}, {{ cssxref("break-after") }}, {{ cssxref("break-before") }}, and {{ cssxref("break-inside") }}.
- - - - - - - - - - - -
{{ SpecName("CSS3 Speech", "", "") }}{{ Spec2("CSS3 Speech") }}
Defines the speech media type, an aural formatting model and numerous properties specific for speech-rendering user agents.
- - - - - - - - - - - -
{{ SpecName("CSS3 Images", "", "") }}{{ Spec2("CSS3 Images") }}
-

Defines the {{cssxref("<image>")}} data type.

- -

Extends the url() syntax to support image slices using media fragments.

- -

Adds:

- -
    -
  • The dppx unit to the {{cssxref("<resolution>")}} data type.
  • -
  • The image() function as a more flexible alternative to url() to define an image from an url.
    - At risk : due to insufficient browser support, standardization of the image() function may be postponed to the next iteration of this module .
  • -
  • Support for linear-gradient(), repeating-linear-gradient(), radial-gradient() and repeating-radial-gradient().
  • -
  • The ability to define how a replaced element should fit in its element, using the CSS {{ cssxref("object-fit") }} property.
    - At risk : due to insufficient browser support, standardization of the {{ cssxref("object-fit") }} and property may be postponed to the next iteration of this module .
  • -
  • The ability to override the resolution and orientation of an external image using the CSS {{ cssxref("image-resolution") }} and {{ cssxref("image-orientation") }} properties.
    - At risk : due to insufficient browser support, standardization of the {{ cssxref("image-resolution") }} and {{ cssxref("image-orientation") }} properties may be postponed to the next iteration of this module .
  • -
-
- -

The CSS Image Values and Replaced Content Level 4 which will supersede CSS Image Level 3 is in development and is a {{Spec2("CSS4 Images")}}.

- - - - - - - - - - - -
{{ SpecName("CSS3 Values", "", "") }}{{ Spec2("CSS3 Values") }}
-

Makes initial and inherit keywords usable on any CSS property.

- -

Formally defines the CSS data types of CSS 2.1, that were implicitely defined by their grammar token and some textual precisions.

- -

Adds:

- -
    -
  • Definition for new font-relative length units: rem and ch .
  • -
  • Definition for viewport-relative length units: vw, vh, vmax, and vmin .
  • -
  • Precision about the real size of the absolute length units, which are not really absolute, but defined in relation with the reference pixel .
  • -
  • Definition for {{ cssxref("<angle>") }}, {{cssxref("<time>")}}, {{cssxref("<frequency>")}}, {{cssxref("<resolution>")}}.
  • -
  • Normative value to the definition of {{cssxref("<color>")}}, {{cssxref("<image>")}}, and {{ cssxref("<position>") }}.
  • -
  • Definition for the {{ cssxref("calc", "calc()") }}, {{ cssxref("attr", "attr()")}}, and toggle() functional notations.
    - At risk: due to insufficient browser support, standardization of the calc(), attr(), and toggle() functional notations may be postponed to the next iteration of this module.
  • -
-
- -

Several types definition, like <ident> and <custom-ident>, have been deferred to CSS Values and Units Module Level 4.

- - - - - - - - - - - -
{{ SpecName("CSS3 Flexbox", "", "") }}{{ Spec2("CSS3 Flexbox") }}
Add a flexbox layout to the CSS {{ cssxref("display") }} property and several new CSS properties to control it: {{ cssxref("flex") }}, {{ cssxref("flex-align") }}, {{ cssxref("flex-direction") }}, {{ cssxref("flex-flow") }}, {{ cssxref("flex-item-align") }}, {{ cssxref("flex-line-pack") }}, {{ cssxref("flex-order") }}, {{ cssxref("flex-pack") }}, and {{ cssxref("flex-wrap") }}.
- - - - - - - - - - - -
{{ SpecName("CSS3 Conditional", "", "") }}{{ Spec2("CSS3 Conditional") }}
Adds features for conditional processing of parts of style sheets, conditioned on capabilities of the browser or the document the style sheet is being applied to. It consists mainly in allowing nested at-rules inside {{ cssxref("@media") }} and the adding of a new CSS at-rule, {{ cssxref("@supports") }}, and a new DOM method {{domxref("CSS.supports()")}}.
- - - - - - - - - - - -
{{ SpecName("CSS3 Text Decoration", "", "") }}{{ Spec2("CSS3 Text Decoration") }}
-

Extends:

- -
    -
  • the CSS {{ cssxref("text-decoration") }} property by making it a shorthand for the CSS {{ cssxref("text-decoration-line") }}, {{ cssxref("text-decoration-color") }}, and {{ cssxref("text-decoration-style") }} properties. And adds the {{ cssxref("text-decoration-skip") }}, and {{ cssxref("text-underline-position") }} properties.
  • -
- -

Adds:

- -
    -
  • Support for East-Asian-script emphasis marks with the CSS {{ cssxref("text-emphasis") }}, {{ cssxref("text-emphasis-style") }}, {{ cssxref("text-emphasis-color") }}, and {{ cssxref("text-emphasis-position") }} properties.
  • -
  • Support for script shadows with the CSS {{ cssxref("text-shadow") }} property.
  • -
- -

Precises:

- -
    -
  • The paint order of the decorations.
  • -
- -

At risk: due to insufficient browser support, standardization of the text-decoration-skip, line positioning rules and the ability to place both emphasis marks and ruby above the same base text may be postponed to the next iteration of this module.

-
- - - - - - - - - - - -
{{ SpecName("CSS3 Fonts", "", "") }}{{ Spec2("CSS3 Fonts") }}
-

Amends the CSS2.1 Font matching algorithm to be closer to what is really implemented.

- -

Adds:

- -
    -
  • Support for downloadable fonts via the CSS {{ cssxref("@font-face") }} at-rule.
  • -
  • The control of the contextual inter-glyph spacing via the CSS {{ cssxref("font-kerning") }} property.
  • -
  • The choice of language-specific glyphs via the CSS {{ cssxref("font-language-override") }} property.
  • -
  • The choice of glyphs with specific OpenType features via the CSS {{ cssxref("font-feature-settings") }} property.
  • -
  • The control of the aspect ratio to use when fallback fonts are selected via the CSS {{ cssxref("font-size-adjust") }} property.
  • -
  • The choice of alternative font faces using the CSS {{ cssxref("font-stretch") }}, {{ cssxref("font-variant-alternates") }}, {{ cssxref("font-variant-caps") }}, {{ cssxref("font-variant-east-asian") }}, {{ cssxref("font-variant-ligatures") }}, {{ cssxref("font-variant-numeric") }}, and {{ cssxref("font-variant-position") }} properties. It also extends the related CSS {{ cssxref("font-variant") }} shorthand property and introduces the {{ cssxref("@font-feature-values") }} at-rule.
  • -
  • The control of the automatic generation of an oblique or bold face when none are found via the CSS {{ cssxref("font-synthesis") }} property.
  • -
-
- - - - - - - - - - - -
{{ SpecName("CSS3 Cascade", "", "") }}{{ Spec2("CSS3 Cascade") }}
-

Adds:

- -
    -
  • The initial, unset values for properties.
  • -
  • The CSS {{ cssxref("all") }} property.
  • -
  • The scoping mechanism.
  • -
- -

Precises:

- -
    -
  • Interaction of media-dependent @import statements and style sheet loading requirements.
  • -
-
- - - - - - - - - - - -
{{ SpecName("CSS3 Writing Modes", "", "") }}{{ Spec2("CSS3 Writing Modes") }}
Defines the writing modes of both horizontal and vertical scripts and precises how the CSS {{ cssxref("direction") }} and {{ cssxref("unicode-bidi") }} properties interact with the new CSS {{ cssxref("text-orientation") }} property, and extends them where needed.
- - - - - - - - - - - -
{{ SpecName("CSS Shapes", "", "") }}{{ Spec2("CSS Shapes") }}
Defines geometric shapes, which can be applied to floats. These shapes describe areas, around which inline content wraps instead of wrapping around the bounding box.
- - - - - - - - - - - -
{{ SpecName("CSS Masks", "", "") }}{{ Spec2("CSS Masks") }}
Defines a way for partially or fully hiding portions of visual elements. It describes how to use another graphical element or image as a luminance or alpha mask.
- -

Modules in the refining phase

- -

Specifications that are deemed to be in the refining phase are already fairly stable. Though changes are still expected, they shouldn't create incompatibilities with current implementations; they should mainly define behavior in edge cases.

- - - - - - - - - - - -
{{ SpecName("Web Animations", "", "") }}{{ Spec2("Web Animations") }}
 
- - - - - - - - - - - -
{{ SpecName("CSS3 Counter Styles", "", "") }}{{ Spec2("CSS3 Counter Styles") }}
 
- - - - - - - - - - - -
{{ SpecName("Compositing", "", "") }}{{ Spec2("Compositing") }}
 
- - - - - - - - - - - -
{{ SpecName("CSS3 Syntax", "", "") }}{{ Spec2("CSS3 Syntax") }}
Precises how charsets are determined; minor changes in parsing and tokenization algorithms.
- - - - - - - - - - - -
{{ SpecName("CSS Will Change", "", "") }}{{ Spec2("CSS Will Change") }}
 
- - - - - - - - - - - -
{{ SpecName("CSS3 Transitions", "", "") }}{{ Spec2("CSS3 Transitions") }}
Allows the definition of transitions effects between two properties values by adding the CSS {{ cssxref("transition") }}, {{ cssxref("transition-delay") }}, {{ cssxref("transition-duration") }}, {{ cssxref("transition-property") }}, and {{ cssxref("transition-timing-function") }} properties.
- - - - - - - - - - - -
{{ SpecName("CSS3 Animations", "", "") }}{{ Spec2("CSS3 Animations") }}
Allows the definition of animations effects by adding the CSS {{ cssxref("animation") }}, {{ cssxref("animation-delay") }},{{ cssxref("animation-direction") }}, {{ cssxref("animation-duration") }}, {{ cssxref("animation-fill-mode") }}, {{ cssxref("animation-iteration-count") }}, {{ cssxref("animation-name") }}, {{ cssxref("animation-play-state") }}, and {{ cssxref("animation-timing-function") }} properties, as well as the {{ cssxref("@keyframes") }} at-rule.
- - - - - - - - - - - -
{{ SpecName("CSS3 Transforms", "", "") }}{{ Spec2("CSS3 Transforms") }}
-

Adds:

- -
    -
  • the support of bi-dimensional transforms to be applied to any element using the CSS {{ cssxref("transform") }} and {{ cssxref("transform-origin") }} properties. The supported transforms are: matrix(), translate(), translateX(), translateY(), scale(), scaleX(), scaleY(), rotate(), skewX(), and skewY().
  • -
  • the support of tri-dimensional transforms to be applied to any element by adding the CSS {{ cssxref("transform-style") }}, {{ cssxref("perspective") }}, {{ cssxref("perspective-origin") }}, and {{ cssxref("backface-visibility") }} properties and extended the {{ cssxref("transform") }} property with the following transforms are: matrix 3d(), translate3d(), translateZ()scale3d(), scaleZ(), rotate3d(), rotateX()rotateY(), rotateZ(), and perspective().
  • -
- -

Note: this specification is a merge of CSS 2D-Transforms, CSS 3D-Transforms and SVG transforms.

-
- - - - - - - - - - - -
{{ SpecName("CSS3 Fragmentation", "", "") }}{{ Spec2("CSS3 Fragmentation") }}
Defines how partitions of a Web page should happen, that is page, column breaks, and widows and orphans handling. -

Adds:

- -
    -
  • Support for defining the behavior of decorations, that is borders and background colors or images, when a box is breaked (at a page, column or line-break) with the CSS {{ cssxref("box-decoration-break") }} property.
  • -
-
- - - - - - - - - - - -
{{ SpecName("CSS3 Text", "", "") }}{{ Spec2("CSS3 Text") }}
-

Extends:

- -
    -
  • the CSS {{ cssxref("text-transform") }} property with the value full-width.
  • -
  • the CSS {{ cssxref("text-align") }} property with the value start, end, start end, and match-parent for a better support of documents with multiple directionalities of text.
  • -
  • the CSS {{ cssxref("text-align") }} property with a {{cssxref("<string>")}} value to align on that character. This is useful to align number on the decimal point.
  • -
  • the CSS {{ cssxref("word-spacing") }} and {{ cssxref("letter-spacing") }} properties with range constraints to control flexibility in justification.
  • -
- -

Adds:

- -
    -
  • Control on how whitespaces are displayed using the CSS {{ cssxref("text-space-collapse") }} and {{ cssxref("tab-size") }} properties.
  • -
  • Control on line breaks and word boundaries using the CSS {{ cssxref("line-break") }}, {{ cssxref("word-break") }}, {{ cssxref("hyphens") }}, {{ cssxref("text-wrap") }}, {{ cssxref("overflow-wrap") }}, and {{ cssxref("text-align-last") }} properties.
  • -
  • Control on how justification is happening, in order to support more type of scripts, using the CSS {{ cssxref("text-justify") }} property.
  • -
  • Control on edge effect using the CSS {{ cssxref("text-indent") }} and {{ cssxref("hanging-punctuation") }} properties.
  • -
-
- -

A few features present in early CSS Text Level 3 draft have being postponed to the next iteration of this module .

- - - - - - - - - - - -
{{ SpecName("CSS3 Variables", "", "") }}{{ Spec2("CSS3 Variables") }}
Defines a mechanism allowing to define variables in CSS.
- - - - - - - - - - - -
{{ SpecName("Compositing", "", "") }}{{ Spec2("Compositing") }}
 
- -

Modules in the revising phase

- -

Modules that are in the revising phase are much less stable than those in the refining phase. Often the syntax is still under scrutiny and may evolve a lot, in a non-compatible way. Alternative syntaxes are tested and often implemented.

- - - - - - - - - - - -
{{ SpecName("CSS3 Basic UI", "", "") }}{{ Spec2("CSS3 Basic UI") }}
-

Adds:

- -
    -
  • The ability to tweak the box model using the CSS {{ cssxref("box-sizing") }} property.
    - At risk: due to insufficient browser support, standardization of the padding-box value may be postponed to the next iteration of this module .
  • -
  • Allow the styling of forms according their content using the CSS {{ cssxref(":indeterminate") }}, {{ cssxref(":default") }}, {{ cssxref(":valid") }}, {{ cssxref(":invalid") }}, {{ cssxref(":in-range") }}, {{ cssxref(":out-of-range") }}, {{ cssxref(":required") }}, {{ cssxref(":optional") }}, {{ cssxref(":read-only") }}, and {{ cssxref(":read-write") }} pseudo-classes and the {{ cssxref("::value") }}, {{ cssxref("::choices") }}, {{ cssxref("::repeat-item") }}, and {{ cssxref("::repeat-index") }} pseudo-elements.
    - At risk: due to insufficient browser support, standardization of the pseudo-elements {{ cssxref("::value") }}, {{ cssxref("::choices") }}, {{ cssxref("::repeat-item") }}, and {{ cssxref("::repeat-index") }} may be postponed to the next iteration of this module .
  • -
  • Support for icons, defined by the CSS {{ cssxref("icon") }} property simultaneously with the new icon value of the CSS {{ cssxref("content") }} property.
    - At risk: due to insufficient browser support, standardization of the {{ cssxref("icon") }} property and the icon value may be postponed to CSS4.
  • -
  • Support for the CSS {{ cssxref("outline-offset") }} property giving more control on the position of the outline.
  • -
  • Support for the CSS {{ cssxref("resize") }} property allowing Web authors to control if and how elements should be resized.
  • -
  • Support for the CSS {{ cssxref("text-overflow") }} property defining how text overflows, if needed.
    - At risk: due to insufficient browser support, the 2-value syntax of this property as well as the support for {{cssxref("<string>")}} values may be postponed to the next iteration of this module .
  • -
  • The ability to define the hotspot of a cursor as well as the new none, context-menu, cell, vertical-text, alias, copy, no-drop, not-allowed, nesw-resize, nwse-resize, col-resize, row-resize, all-scroll, zoom-in, zoom-out, extending the {{ cssxref("cursor") }} property.
  • -
  • The ability to specify the sequential navigation order (that is the tabbing order ) using the CSS {{ cssxref("nav-index") }}, {{ cssxref("nav-up") }}, {{ cssxref("nav-right") }}, {{ cssxref("nav-left") }}, {{ cssxref("nav-down") }} properties.
    - At risk: due to insufficient browser support, standardization of the navigation properties may be postponed to the next iteration of this module .
  • -
  • The ability to control the usage of an IME editor, using the CSS {{ cssxref("ime-mode") }} property.
    - At risk: due to insufficient browser support, standardization of the {{ cssxref("ime-mode") }} property may be postponed to the next iteration of this module .
  • -
-
- -

An early list of what could be in the next iteration of the CSS Basic User Interface Module is available.

- - - - - - - - - - - -
{{ SpecName("CSS3 Grid", "", "") }}{{ Spec2("CSS3 Grid") }}
Add a grid layout to the CSS display property and several new CSS properties to control it: {{cssxref("grid")}}, {{cssxref("grid-area")}}, {{cssxref("grid-auto-columns")}}, {{cssxref("grid-auto-flow")}}, {{cssxref("grid-auto-position")}}, {{cssxref("grid-auto-rows")}}, {{cssxref("grid-column")}}, {{cssxref("grid-column-start")}}, {{cssxref("grid-column-end")}}, {{cssxref("grid-row")}}, {{cssxref("grid-row-start")}}, {{cssxref("grid-row-end")}}, {{cssxref("grid-template")}}, {{cssxref("grid-template-areas")}}, {{cssxref("grid-template-rows")}}, and {{cssxref("grid-template-columns")}}.
- - - - - - - - - - - -
{{ SpecName("CSS3 Box Alignment", "", "") }}{{ Spec2("CSS3 Box Alignment") }}
 
- - - - - - - - - - - -
{{ SpecName("CSS3 Paged Media", "", "") }}{{ Spec2("CSS3 Paged Media") }}
 
- - - - - - - - - - - -
{{ SpecName("CSSOM View", "", "") }}{{ Spec2("CSSOM View") }}
 
- - - - - - - - - - - -
{{ SpecName("CSS4 Selectors", "", "") }}{{ Spec2("CSS4 Selectors") }}
 
- -

Modules in the exploring phase

- - - - - - - - - - - -
{{ SpecName("CSS4 Images", "", "") }}{{ Spec2("CSS4 Images") }}
-

Extends:

- -
    -
  • the image() functional notation to describe the directionality of the image (rtl or ltr), allowing for bidi-sensitive images.
  • -
  • the {{ cssxref("image-orientation") }} property by adding the keyword from-image, allowing to follow EXIF data stored into images to be considered.
  • -
- -

Adds:

- -
    -
  • the image-set() functional notation to allow the definition to equivalent images at different resolution allowing for resolution-negotiated selection of images.
  • -
  • the element() functional notation allowing the use of part of the page as image.
  • -
  • the cross-fade() functional notation allowing to refer to intermediate images when transitioning between two images and defines the interpolation between two images.
  • -
  • the conic-gradient() and repeating-conic-gradient() functional notation describing a new type of gradient.
  • -
  • the {{cssxref("image-rendering")}} property that allow to define how resize of the object should be handled.
  • -
-
- - - - - - - - - - - -
{{ SpecName("CSS3 Device", "", "") }}{{ Spec2("CSS3 Device") }}
Adds a new at-rule, {{ cssxref("@viewport") }}, allowing to specify the size, zoom factor, and orientation of the viewport that is used as the base for the initial containing block.
- - - - - - - - - - - -
{{ SpecName("CSS3 GCPM", "", "") }}{{ Spec2("CSS3 GCPM") }}
Adds the ability to tailor printed version of a document by allowing to control header, footer but also references tables like indexes or tables of content.
- - - - - - - - - - - -
{{ SpecName("CSS Exclusions", "", "") }}{{ Spec2("CSS Exclusions") }}
Extends the floats mechanism to define exclusion regions in any positioning scheme. Adds the notion of shapes, in which content must flows.
- - - - - - - - - - - -
{{ SpecName("CSS3 Lists", "", "") }}{{ Spec2("CSS3 Lists") }}
Extends the list counter mechanism so that list markers can be styled and Web developers can define new list counter schemes.
- - - - - - - - - - - -
{{ SpecName("CSS3 Regions", "", "") }}{{ Spec2("CSS3 Regions") }}
Defines a new mechanism allowing content to flow across, eventually non-contiguous, multiple areas called regions.
- - - - - - - - - - - -
{{ SpecName("CSS3 Device", "", "") }}{{ Spec2("CSS3 Device") }}
Adds a new at-rule, {{ cssxref("@viewport") }}, allowing to specify the size, zoom factor, and orientation of the viewport that is used as the base for the initial containing block.
- - - - - - - - - - - -
{{ SpecName("Filters 1.0", "", "") }}{{ Spec2("Filters 1.0") }}
 
- - - - - - - - - - - -
{{ SpecName("CSS3 Template", "", "") }}{{ Spec2("CSS3 Template") }}
 
- - - - - - - - - - - -
{{ SpecName("CSS3 Sizing", "", "") }}{{ Spec2("CSS3 Sizing") }}
 
- - - - - - - - - - - -
{{ SpecName("CSS Line Grid", "", "") }}{{ Spec2("CSS Line Grid") }}
 
- - - - - - - - - - - -
{{ SpecName("CSS3 Positioning", "", "") }}{{ Spec2("CSS3 Positioning") }}
 
- - - - - - - - - - - -
{{ SpecName("CSS3 Ruby", "", "") }}{{ Spec2("CSS3 Ruby") }}
 
- - - - - - - - - - - -
{{ SpecName("CSSOM", "", "") }}{{ Spec2("CSSOM") }}
 
- - - - - - - - - - - -
{{ SpecName("CSS3 Overflow", "", "") }}{{ Spec2("CSS3 Overflow") }}
 
- - - - - - - - - - - -
{{ SpecName("CSS3 Font Loading", "", "") }}{{ Spec2("CSS3 Font Loading") }}
 
- - - - - - - - - - - -
{{ SpecName("CSS3 Display", "", "") }}{{ Spec2("CSS3 Display") }}
 
- - - - - - - - - - - -
{{ SpecName("CSS Scope", "", "") }}{{ Spec2("CSS Scope") }}
 
- - - - - - - - - - - -
{{ SpecName("CSS4 Media Queries", "", "") }}{{ Spec2("CSS4 Media Queries") }}
 
- - - - - - - - - - - -
{{ SpecName("CSS Non-element Selectors", "", "") }}{{ Spec2("CSS Non-element Selectors") }}
 
- - - - - - - - - - - -
{{ SpecName("Geometry Interfaces", "", "") }}{{ Spec2("Geometry Interfaces") }}
 
- - - - - - - - - - - -
{{ SpecName("CSS3 Inline", "", "") }}{{ Spec2("CSS3 Inline") }}
 
- -

Modules in the rewriting phase

- -

Modules that are in the rewriting phase are outdated and require to be rewritten. The syntax is still under scrutiny and may evolve a lot, in a non-compatible way. Alternative syntaxes are tested and often implemented.

- - - - - - - - - - - -
{{ SpecName("CSS3 Box", "", "") }}{{ Spec2("CSS3 Box") }}
 
- - - - - - - - - - - -
{{ SpecName("CSS3 Content", "", "") }}{{ Spec2("CSS3 Content") }}
 
- - - - - - - - - - - -
{{ SpecName("CSS3 Inline Layout", "", "") }}{{ Spec2("CSS3 Inline Layout") }}
 
- -

 

diff --git a/files/vi/archive/index.html b/files/vi/archive/index.html deleted file mode 100644 index b60a4bea19..0000000000 --- a/files/vi/archive/index.html +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: Archive of obsolete content -slug: Archive -translation_of: Archive ---- -

(vi translation)

- -

Here at MDN, we try to avoid outright deleting content that might be useful to people targeting legacy platforms, operating systems, and browsers. Perhaps your target audience is people that are using older hardware, for example, and can't upgrade to the latest and greatest browsers. Or for "reasons," your company is required to use very old software and you need to build Web content that runs on that software. Or perhaps you're just curious about the history of an obsolete feature or API, and how it worked.

- -

There are many reasons older documentation can be useful. So, we've established this area into which we can archive older documentation. Material in this Archived content zone should not be used for building new Web sites or apps for modern browsers. It's here for historical reference only.

- -
-

Note to writers: We need to try to keep the subpages here organized instead of all dumped into one large folder. Try to create subtrees for categories of material. Also, only move pages here that are extremely obsolete. If anyone might realistically need the information in a living product, it may not be appropriate to move it here. In general, it may be best to discuss it in the MDN Web Docs chat room before moving content here.

-
- -

{{SubpagesWithSummaries}}

- - - -

{{ListSubpages("/en-US/docs/Archive", 2, 0, 1)}}

diff --git a/files/vi/archive/mdn/index.html b/files/vi/archive/mdn/index.html deleted file mode 100644 index 9e550840e3..0000000000 --- a/files/vi/archive/mdn/index.html +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: MDN Archive -slug: Archive/MDN -tags: - - Archive - - MDN - - NeedsTranslation - - TopicStub -translation_of: Archive/MDN ---- -

{{MDNSidebar}}

- -
-

Obsolete
- This documentation is obsolete.

-
- -

The documentation listed below is archived, obsolete material about MDN itself.

- -

{{LandingPageListSubpages}}

diff --git a/files/vi/archive/mozilla/index.html b/files/vi/archive/mozilla/index.html deleted file mode 100644 index 2cd7d2d222..0000000000 --- a/files/vi/archive/mozilla/index.html +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Archived Mozilla and build documentation -slug: Archive/Mozilla -tags: - - NeedsTranslation - - TopicStub -translation_of: Archive/Mozilla ---- -

These articles are archived, obsolete documents about Mozilla, Gecko, and the process of building Mozilla projects.

-

ActiveX Control for Hosting Netscape Plug-ins in IE
Microsoft has removed support for Netscape plug-ins from IE 5.5 SP 2 and beyond. If you are a plug-in author, you may find this project saves you a lot of work!
ant script to assemble an extension
This ant script helps to package an extension
Archived SpiderMonkey docs
This section contains old SpiderMonkey documentation.
Autodial for Windows NT
This document is intended to explain how the autodial helper feature implemented for bug 93002 works and why it works that way.
Automated testing tips and tricks
Automatic Mozilla Configurator
Ankh8
Automatically Handle Failed Asserts in Debug Builds
As of 2004-12-8, it is now possible to automatically handle failed asserts in debug builds of Mozilla for Windows.
BlackConnect
Blackwood
Bonsai
It is a tool that lets you perform queries on the contents of a CVS archive; you can: get a list of checkins, see what checkins have been made by a given person, or on a given CVS branch, or in a particular time period. It also includes tools for looking at checkin logs (and comments); doing diffs between various versions of a file; and finding out which person is responsible for changing a particular line of code ("cvsblame").
Bookmark Keywords
Practically every Web surfer has bookmarks, of course, and power surfers usually have hundreds stuffed into folders within folders. In addition to being handy pointers to useful resources, bookmarks in Mozilla can be used to make the address bar itself a power tool. Searches, lookups, package tracking, and even word definitions can all be retrieved from user-customized bookmarks.
Building TransforMiiX standalone
calICalendarView
An object implementing calICalendarView is generally intended to serve as a way of manipulating a set of DOM nodes corresonding to a visual representation of calIEvent and calITodo objects. Because of this close association between methods and attributes on the one hand, and content on the other, calICalendarView implementations are particularly well suited to XBL. There is, however, no practical obstacle to the interface being implemented by any javascript object associated with a group of DOM nodes, even non-anonymous XUL nodes.
calICalendarViewController
A calICalendarViewController provides a way for a calICalendarView to create, modify, and delete items. Implementing a calICalendarViewController allows for these actions to be performed in a manner consistent with the rest of the application in which the calICalendarView is included.
calIFileType
The calIFileType interface provides information about a specific file type.
Chromeless
[This project may not be active — check Github https://github.com/mozilla/chromeless]
Creating a Firefox sidebar extension
This article describes how to create a registered sidebar for Firefox 2 or greater. See the references section for information on creating extension in earlier browsers.
Creating a hybrid CD
Creating a Microsummary
A microsummary generator is a set of instructions for creating a microsummary from the content of a page. Web pages can reference generators via <link rel="microsummary"> elements in their <head> elements. Generators can also be independently downloaded and installed by users if they include a list of pages to which they apply.
Creating a Mozilla Extension
A Mozilla extension is an installable enhancement to the Mozilla browser that provides additional functionality (for example Linky, which adds an item to the context menu for opening multiple links in a document or selection). This tutorial walks you through the process of building a Mozilla extension that adds an icon to Mozilla's status bar showing the current status of the Mozilla source code (i.e. whether or not the latest version of the code is compiling successfully and passing tests). The extension will access Tinderbox, mozilla.org's webtool for tracking source code status, to get the status of the code.
Creating a Skin for Firefox/Getting Started
Download the latest version of Firefox and install it. Be sure to install the DOM Inspector extension as well.
Creating a Skin for Mozilla
In order to create a skin for mozilla, you will need to know three things. How to edit images, extract zip files, and how to modify CSS. Mozilla uses standard gif, png, and jpeg images for the buttons and CSS to style everything else in the interface.
Creating a Skin for SeaMonkey 2.x
You're going to make a theme for SeaMonkey 2, but don't know how? I hope this manual will help you.
Creating regular expressions for a microsummary generator
A regular expression is a special kind of string (i.e. a sequence of characters) that matches patterns of characters in other strings. Microsummary generators use them to identify the pages that the generators know how to summarize by matching patterns in those pages' URLs.
Dehydra
The development focus switched to DXR (where the "D" comes from "Dehydra"), which is based on clang instead of gcc. Try DXR instead, or else try the gcc python plugin: https://fedorahosted.org/gcc-python-plugin/.
Developing New Mozilla Features
Tips For Contributing New Features To Mozilla.
Devmo 1.0 Launch Roadmap
Comments, ideas, questions and other discussion should be added on the Devmo talk:1.0 Launch Roadmap page. Further details on smaller tasks being done are available at User:Dria:TODO page. See also Current Events.
Download Manager improvements in Firefox 3
Firefox 3 offers improvements to the Download Manager that allow multiple progress listeners, use of the Storage API for data management, download resuming, and more. In addition, you can augment or replace the Download Manager's user interface by implementing the new nsIDownloadManagerUI interface.
Download Manager preferences
There are several preferences used by the Download Manager. This article provides a list of them.
Drag and Drop
This section describes how to implement objects that can be dragged around and dropped onto other objects.
DTrace
 DTrace is Sun Microsystem's dynamic tracing framework that allows developers to instrument a program with probes that have little to no effect on performance when not in use and very little when active. Probe data can be collected with scripts written in D (no, not that one). Mozilla DTrace support has been added by the Sun DTrace team and can be used on Solaris 10 and Mac OS X 10.5.
Embedding FAQ
Embedding Mozilla in a Java Application using JavaXPCOM
XULRunner ships with the JavaXPCOM component, which allows Java code to interact with XPCOM objects. As you will see in this article, working with XPCOM objects in Java is not that much different than doing so in C++.
Error Console
The Error Console is a tool available in most Mozilla-based applications that is used for reporting errors in the application chrome and in web pages user opens. It reports JavaScript-related errors and warnings, CSS errors and arbitrary messages from chrome code. In Firefox, the Error Console can be opened from the tools menu or by Ctrl-Shift-J.
Exception logging in JavaScript
Technical review completed.
Existing Content
This is a list of existing mozilla.org documentation. It needs to be checked, prioritized, and migrated.
Extension Frequently Asked Questions
This is quick set of answers to the most common issues with extension development. They are currently written with mostly Firefox in mind, but most if not all should easily translate to SeaMonkey, Thunderbird or any of the other applications. For Thunderbird, you may also find the extension HowTo or FAQ pages helpful.
Fighting Junk Mail with Netscape 7.1
Summary: Is your mail account drowning in a flood of spam? Netscape 7.1 includes built-in junk mail filtering that you can train to meet your specific needs. Eric Meyer share his experiences with making the junk mail controls more effective, and looks at other preferences you might want to set to keep your account safe.
Firefox Sync
Sync refers to a family of related components and services which provide synchronization of data between Mozilla application instances. These components and services include:
Force RTL
(This is a temporary placeholder/stub for the Force RTL page)
Gecko Coding Help Wanted
Take a look through LXR, and you'll realize that Mozilla's source code is a big place.
GRE
Hacking wiki
To be able to hack the MDC wiki software, you'll need a local webserver install, which can run MediaWiki.
Help Viewer
Help Viewer: Allows information to be shown to the user inside Mozilla.
Helper Apps (and a bit of Save As)
Hidden prefs
-This page has been flagged by editors or users as needing technical review. -Until it is fully reviewed, it may contain inaccurate or incorrect information. -
How to Write and Land Nanojit Patches
Adobe and Mozilla share a copy of Nanojit. This means that landing nanojit patches is a bit complicated, but experience has taught us that this is much better than having separate versions of nanojit.
HTTP Class Overview
This document provides an overview of the classes used by the Mozilla HTTP implementation. It's meant as a guide to developers wishing to understand or extend the Mozilla HTTP implementation.
Introducing the Audio API extension
The Audio Data API extension extends the HTML5 specification of the <audio> and <video> media elements by exposing audio metadata and raw audio data. This enables users to visualize audio data, to process this audio data and to create new audio data.
Java in Firefox Extensions
If you are in need of calling Java code from within a Firefox extension, you can make use of LiveConnect. LiveConnect gives your extension's JavaScript code (linked from or contained in XUL code) access to 2 objects: java and Packages (note that per this thread, although the new documentation for the LiveConnect reimplementation states that these globals will be deprecated (in the context of applets), "Firefox and the Java Plug-In will continue to support the global java/Packages keywords, in particular in the context of Firefox extensions."). These 2 objects let you make use of the standard JDK classes, e.g.,
JavaScript crypto
Mozilla defines a special JavaScript object to allow web pages access to certain cryptographic-related services. These services are a balance between the functionality web pages need and the requirement to protect users from malicious web sites. Most of these services are available via the DOM window object as window.crypto.
Jetpack
Litmus tests
Litmus tests are (non-automated) tests that are documented in the litmus database. See http://litmus.mozilla.org.
Makefile.mozextension.2
This Makefile is a modification of the Makefile.mozextention, found in Makefile for packaging an extension - MozillaZine Knowledge Base (2005).
Microsummary topics
To programmatically install a microsummary generator -- for example, in an extension that helps users create custom generators for their favorite sites -- obtain a reference to the nsIMicrosummaryService interface implemented by the nsIMicrosummaryService component, then call its installGenerator() method, passing it an XML document containing the generator.
Migrate apps from Internet Explorer to Mozilla
When Netscape started the Mozilla browser, it made the conscious decision to support W3C standards. As a result, Mozilla is not fully backwards-compatible with Netscape Navigator 4.x and Microsoft Internet Explorer legacy code; for example, Mozilla does not support <layer> as I will discuss later. Browsers, like Internet Explorer 4, that were built before the conception of W3C standards inherited many quirks. In this article, I will describe Mozilla's quirks mode, which provides strong backwards HTML compatibility with Internet Explorer and other legacy browsers.
Monitoring downloads
Firefox 3 makes it easier than ever to monitor the status of downloads. Although it was possible to do so in previous versions of Firefox, it was previously only possible for one observer to do so at a time. Firefox 3 introduces new API that allows any number of listeners to observe downloads.
Mozilla Application Framework
The Mozilla Application Framework: for powerful, easy to develop cross-platform applications
Mozilla Crypto FAQ
In this document I try to answer some frequently asked questions about the Mozilla web browser and mail/news client and its support for SSL, S/MIME, and related features based on cryptographic technology. Note that this document is for your information only and is not intended as legal advice. If you wish to develop and distribute cryptographic software, particularly for commercial sale or distribution, then you should consult an attorney with expertise in the particular laws and regulations that apply in your jurisdiction.
Mozilla Modules and Module Ownership
REDIRECT http://www.mozilla.org/hacking/module-ownership.html
Mozprocess
mozprocess provides python process management via an operating system and platform transparent interface to Mozilla platforms of interest. Mozprocess aims to provide the ability to robustly terminate a process (by timeout or otherwise), along with any child processes, on Windows, OS X, and Linux. Mozprocess utilizes and extends subprocess.Popen to these ends.
Nanojit
Nanojit is a small, cross-platform C++ library that emits machine code. Both the Tamarin JIT and the SpiderMonkey JIT (a.k.a. TraceMonkey) use Nanojit as their back end.
New Skin Notes
Devmo has a new skin that is ready for testing. If you go to your user preferences, you can change the skin to "Devmo". This is currently just a preview, but we would appreciate help with testing.
Persona
Mozilla Persona is a cross-browser login system for the Web, that's easy to use and easy to deploy. It works on all major browsers, and you can get started today.
Plug-n-Hack
Plug-n-Hack (PnH) is a proposed standard from the Mozilla security team for defining how security tools can interact with browsers in a more useful and usable way.
Plugin Architecture
This page contains some notes on how plugins work internally in Gecko. It is mainly of interest to Gecko developers.
Porting NSPR to Unix Platforms
Last modified 16 July 1998
Priority Content
Update: I've removed documents from this list that have been migrated into the wiki. The list of completed documents is available through the DevEdge page.
Prism
Prism is a simple XULRunner-based browser that hosts web applications without the normal web browser user interface. Prism is based on a concept called Site-Specific Browsers (SSB). An SSB is designed to work exclusively with a single web application. It doesn’t have the menus, toolbars and other accoutrements of a traditional web browser. An SSB also offers tighter integration with the operating system and desktop than a typical web application running through a web browser. Applications running in an SSB are therefore able to benefit from many of the advantages of the desktop and of the web at the same time.
Proxy UI
(Recently Added - some support for reading OS and account settings.)
Remote XUL
How to use XUL delivered from a webserver, not as part of chrome.
Space Manager Detailed Design
The Space Manager and related classes and structures are an important of the Gecko Layout system, specifically Block Layout. See the High Level Design document for an overview of the Space Manager, and as an introduction to the classes, structures and algorithms container in this, the Detailed Design Document.
Space Manager High Level Design
The Space Manager and associated classes and structures are used by Block and Line layout to manage rectangular regions that are occupied and available, for correct handling of floated elements and the elements that flow around them. When elements are floated to the left or right in a layout, they take up space and influence where other elements can be placed. The Space Manager is responsible for keeping track of where space is taken up and where it is available. This information is used by block layout to correctly compute where other floated elements should be placed, and how much space is available to normal in-flow elements that flow around the floated bits.
Standalone XPCOM
Standalone XPCOM is a tree configuration that builds a minimal set of libraries (shared mostly) that can be used to get all features of XPCOM. The contents of this standalone XPCOM in general are:
Stress testing
Consume.exe from the Windows Server 2003 Resource Kit Tools can consume various resources: physical memory, CPU time, page file, disk space and even the kernel pool. Although for Win2003, it should install into WinXP fine (Win2000 compatibility is unknown). The only downside is you can't specify how much of the resource to use, only which one to consume. Also be warned: always remember the -time option, or you may be hitting that physical reset button sooner than you would have liked!
Structure of an installable bundle
XULRunner applications, extensions, and themes all share a common directory structure, and in some cases the same bundle can be used as a standalone XULRunner application as well as an installable application extension.
Supporting private browsing mode
Firefox 3.5 introduced private browsing mode, in which potentially private information is not recorded. This includes cookies, history information, download information, and so forth.
SXSW 2007 presentations
Presentations about the Mozilla project given at the SXSW 2007 event in Austin, Texas.
Table Cellmap
The table layout use the cellmap for two purposes:
Table Cellmap - Border Collapse
This document describes the additional information that is stored for border collapse tables in the cellmap.
Table Layout Regression Tests
Changes in layout, parser and content code can have unintended side effects, also known as regressions. It is good style to check for these unwanted regressions and fixing them before checkin rather than causing Bugzilla avalanches.
Table Layout Strategy
The table layout algorithm is based on two W3C recommendations: HTML 4.01 (Chapter 11) and CSS2.1 (Chapter 17).In CSS2 a distinction between fixed and auto layout of tables has been introduced. The auto-layout mechanism is implemented in BasicTableLayoutStrategy.cpp the fixed-layout in FixedTableLayoutStrategy.cpp. All these files are in the layout/html/table/src subdirectory.
Tamarin
The Download Manager schema
The Download Manager uses an SQLite table to keep track of downloads in progress as well as queued and past downloads.
The life of an HTML HTTP request
The new nsString class implementation (1999)
This document is intended to briefly describe the new nsString class architecture, and discuss the implications on memory management, optimizations, internationalization and usage patterns.
TraceVis
TraceVis is a performance visualization system for TraceMonkey. If TraceMonkey is built with TraceVis, and run with TraceVis enabled, then TraceMonkey will output a log of all its activity transitions. The log can be postprocessed into a visualization that can be used to rapidly diagnose many tracing-related performance issues.
Treehydra
Try the gcc python plugin instead: https://fedorahosted.org/gcc-python-plugin/.
URIs and URLs
Handling network and locally retrievable resources is a central part of Necko. Resources are identified by URI "Uniform Resource Identifier" (Taken from RFC 2396):
URIScheme
List of Mozilla supported URI schemes
Using addresses of stack variables with NSPR threads on win16
This is a cautionary note that may be old information for some of you. However, since it affects the portability of code, it was deemed prudent to include a short memo describing the issue.
Using Monotone With Mozilla CVS
Using SVK With Mozilla CVS
When working with Mozilla, you tend to accumulate patches which need to be reviewed, super-reviewed, and/or approved before they can be committed to the trunk. When you have only a few uncommitted patches, you can get by using cvs diff, and just editing the output to remove other patches before submitting. However, this approach quickly becomes unscalable, especially when you have different fixes in the same tree. Using a distributed versioning system like SVK takes out much of the hassle of managing your patches.
Venkman
Venkman is the code name for Mozilla's JavaScript Debugger. It aims to provide a powerful JavaScript debugging environment for Mozilla based browsers namely Firefox, Netscape 7.x/9.x and SeaMonkey. Note that it is not included in the Gecko-based browsers such as K-Meleon, Galeon and Netscape 8.x. Venkman has been provided as part of the Mozilla install distribution since October 2001, as well as an extension package in XPI format.
Video presentations
Mozilla is actively working to produce video presentations that can help you learn how the Mozilla codebase works and how to take advantage of its technology in your own applications and extensions. This article is a jumping-off point to help you find those presentations.
Why Embed Gecko
Gecko - the Smart Embedding Choice
xbDesignMode.js
XML in Mozilla
Mozilla has a relatively good support for XML. Several World Wide Web Consortium (W3C) Recommendations and drafts from the XML family of specifications are supported, as well as other related technologies.
XPInstall
XPJS Components Proposal
Draft 1.0
XRE
XTech 2005 Presentations
XTech 2006 Presentations
XUL Explorer
XUL Explorer is a XULRunner application that provides an easy way to experiment with XUL. It’s a simple editor that can preview XUL inline or in a separate popup window. It has a list of code snippets (small fragments of XUL or JavaScript) that can be quickly inserted into the editor. The XUL can be loaded from and saved to files. A XUL validator and the Error Console are both available to help debug problems. The help menu provides access to XUL information on MDC. There is even simple “keyword” help lookup for XUL elements.
XULRunner
XULRunner is a Mozilla runtime package that can be used to bootstrap XUL+XPCOM applications that are as rich as Firefox and Thunderbird. It provides mechanisms for installing, upgrading, and uninstalling these applications.

diff --git a/files/vi/mozilla/connect/index.html b/files/vi/mozilla/connect/index.html deleted file mode 100644 index a25a505db4..0000000000 --- a/files/vi/mozilla/connect/index.html +++ /dev/null @@ -1,128 +0,0 @@ ---- -title: Connect with Mozilla -slug: Mozilla/Connect -translation_of: Mozilla/Connect ---- -
-

Kích hoạt, truyền cảm hứng và hợp tác để làm cho Web nền tảng chính được sử dụng để tạo ra kinh nghiệm trên tất cả các thiết bị kết nối.

-
- - -
-
-
- -
- -
- -
- -
- -
-
- -
-

Kết nối với Mozilla

- -

Các nhà phát triển đang tạo ra tương lai bằng cách xây dựng các dịch vụ và ứng dụng cho tất cả mọi người trên toàn thế giới. Mục tiêu của Quan hệ công chúng của Mozilla là để giúp các nhà phát triển sử dụng công nghệ web mở và tiêu chuẩn để thành công trong việc đạt được mục tiêu của mình. Ngoài các tài liệu hướng dẫn ở đây trên MDN, chúng tôi cung cấp sự giúp đỡ và các nguồn lực khác hướng tới mục tiêu này, thông qua các kênh khác nhau. Chúng tôi mời bạn để kết nối, học hỏi và chia sẻ kiến ​​thức của riêng bạn.

- -

Chúng tôi đang cung cấp sự giúp đỡ thông qua Q & A về Stack tràn , để giải quyết vấn đề kỹ thuật và thách thức bạn có thể cụ ​​thể. Chúng tôi cũng có một bản tin giữ cho bạn thông tin về những diễn biến mới nhất trong cảnh web trên các ứng dụng web và nhiều hơn nữa. Theo dõi các bản tin Apps & Hacks.

- -

Nếu bạn chia sẻ của Mozilla nhiệm vụnguyên tắc , và muốn giúp đỡ lây lan cho họ để phát triển hơn, hãy kiểm tra những cách bạn có thể tham gia với các kỹ thuật truyền giáo , và tham gia của chúng tôi thảo luận nhóm truyền giáo .

- -

Chúng tôi có rất nhiều kế hoạch và ý tưởng cho lặp đi lặp lại việc mở rộng quan hệ phát triển các dịch vụ của chúng tôi, và chúng tôi muốn bạn tham gia như chúng ta làm như vậy! Vì vậy, theo các thẻ trên Stack Overflow , đăng ký vào blog Hacks , đăng ký vào các bản tin,đăng ký một tài khoản !

- -

Tham gia Mozilla

- -

Nếu bạn muốn đi xa hơn kết nối với Mozilla, bạn có thể tham gia Mozilla và giúp thực hiện nhiệm vụ xây dựng một Internet tốt hơn của Mozilla . Là một nhà phát triển, bạn có kỹ năng để đóng góp trong nhiều lĩnh vực, cũng như cơ hội để nâng cao kỹ năng của bạn. Mozilla là một dự án mã nguồn mở, vì vậy chúng tôi "mặc định để mở." Bạn có thể "xem nguồn" và đóng góp vào các dự án phát triển phần mềm của chúng tôi, giống như trình duyệt Firefox cho máy tính để bàn và Android, Firefox OS, và các trang web của Mozilla. Bạn có thể trở thành một phần của một cộng đồng quốc tế và nhận được sự công nhận cho những nỗ lực của bạn. Dưới đây là một số lợi thế góp phần vào dự án Mozilla.

- -

Cơ hội để học hỏi những điều mới mẻ  

- -
-

Khi viết mã cho một dự án mã nguồn mở, bạn có thể phải đối mặt với các vấn đề mà bạn đã không có khả năng gặp phải trước đó, mà cơ hội học tập hiện tại cho bạn. Bạn có thể thử các công cụ và kỹ thuật mới trong một dự án mã nguồn mở. Ví dụ, nếu bạn chưa bao giờ thực hiện bất kỳ kiểm tra đơn vị, và không thể có được sự cho phép của ông chủ của bạn để làm như vậy trong công việc thường xuyên của bạn, viết một số mã cho một dự án mã nguồn mở sẽ là một nơi tuyệt vời để thử. Góp phần mã nguồn mở cung cấp cho bạn cơ hội để hợp tác với và tìm hiểu rất nhiều người trên thế giới có lợi ích tương tự. Hơn nữa, một tổ chức mã nguồn mở Mozilla có nhiều đóng góp có thể giúp bạn giải quyết vấn đề bạn gặp phải. Nếu bạn chỉ mới bắt đầu đóng góp, bạn có thể tìm kiếm "cố vấn" lỗi, nơi đóng góp một phần kinh nghiệm đã được cung cấp để giúp đỡ một người mới sửa chữa chúng.

- -

Tôi có thể có được những gì bằng cách đóng góp?       

- -

Khám phá nhiều điều và nhận được sự công nhận trong cộng đồng - đó là những lợi ích vô hình đóng góp cho Mozilla. Trong khi chúng tôi không thể đảm bảo lợi ích hữu hình cụ thể, nhiều người đóng góp có giá trị nhận được miễn phí thiết bị Mozilla và lời mời đến các sự kiện liên quan đến Mozilla, và là lần đầu tiên xếp hàng để được xem xét cho thực tập. Hơn nữa, kinh nghiệm của bạn trong việc đóng góp cho một dự án mã nguồn mở có thể giúp bạn tìm một công việc. Ngày càng có nhiều nhà tuyển dụng của các nhà phát triển đang xem xét đóng góp mã nguồn mở. Họ muốn thấy rằng bạn đang viết blog và đóng góp vào danh sách gửi thư, và họ thực sự muốn nhìn thấy bạn được liệt kê như là một committer trên một dự án mã nguồn mở. Nó cũng có thể giúp đỡ phần kinh nghiệm làm việc trong sơ yếu lý lịch của bạn.

- -

Làm thế nào tôi có thể đóng góp cho Mozilla?    

- -

Có rất nhiều khu vực dự án mà bạn có thể đóng góp cho Mozilla. Bạn có thể tìm thấy một danh sách đầy đủ hiện hành về Mozilla chính Nhận Lên olved trang. Một số khu vực có thể quan tâm đến bạn như một nhà phát triển bao gồm:

- - -
-
- -
-
-

Q & A về Stack Overflow Xem tất cả các Q & A ...

- -

Chúng tôi có Q & A để thảo luận về những thách thức và các vấn đề khi phát triển, đặc biệt là cho Firefox OS và Open Web trên điện thoại di động. Nó có sẵn trên Stack Overflow theo URL dễ dàng http://stackoverflow.com/r/mozilla .

- - -
Hình thức ngăn xếp
- -

Mới nhất Q & A chủ đề

-
- -
 
-
- -

Các nhà phát triển tại hội thảo Firefox OS tại Madrid.

- -
-
-

Ở đâu Mozilla? Xem tham dự và thông tin chi tiết trên trang sự kiện của chúng tôi ...

- -

Dưới đây là danh sách các sự kiện mà đại diện Mozilla sẽ nói. Hãy chắc chắn để nói chuyện với họ!

-
- - -
-
- -


-

diff --git a/files/vi/new_compatibility_tables_beta/index.html b/files/vi/new_compatibility_tables_beta/index.html deleted file mode 100644 index 08b3189e0b..0000000000 --- a/files/vi/new_compatibility_tables_beta/index.html +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: Bảng Tương thích Mới Thử nghiệm -slug: New_Compatibility_Tables_Beta -translation_of: Archive/MDN/New_Compatibility_Tables_Beta ---- -

You're probably here because you followed the beta notice link from one of our new compatibility tables. (No? Want to see the new tables? Make yourself a beta tester.)

- -

Thanks for helping us test these. They're part of a much larger project. We're moving all our browser compatibility data into structured JSON.

- -

The new tables will appear on pages as the data is converted to the new format.

- -

Editing

- -

Our compat data has been moved into JSON files in the browser-compat-data GitHub repository.

- -

To contribute compat data you can now submit a pull request or file an issue on the repository.

- -

How to help

- -

If you find a problem with the data please file an issue on the GitHub repository.

- -

If something is wrong with the table's appearance or functionality, please click the "report an error" button in the drop down menu above the table.

- -

Nếu bạn có thời gian, chúng tôi sẽ rất cảm kích nếu bạn tham gia khảo sát.

- -
{{MDNSidebar}}{{IncludeSubnav("/vi-VN/docs/MDN")}}
diff --git a/files/vi/tools/webide/index.html b/files/vi/tools/webide/index.html deleted file mode 100644 index 2c500ad533..0000000000 --- a/files/vi/tools/webide/index.html +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: WebIDE -slug: Tools/WebIDE -translation_of: Archive/WebIDE ---- -
-

WebIDE enables you to create, edit, run, and debug web apps using the Firefox OS Simulator or a real Firefox OS device.

- -

It also enables you to connect the Firefox Developer Tools to a number of other browsers, including Firefox for Android, Chrome on Android, and Safari on iOS. See the Remote Debugging page for instructions on how to connect to a specific browser.

-
- -

With WebIDE, you first set up one or more runtimes. A runtime is an environment in which you'll run and debug the app. A runtime could be a Firefox OS device connected to the desktop over USB (or over Wi-Fi since Firefox 39), or it could be a Firefox OS Simulator installed on the desktop itself.

- -

Next, you create an app, or open an existing app. If you're creating a new app you can start with a template that includes the directory structure and the minimum boilerplate you need to get started, or a more complete template that shows how to use a privileged API. WebIDE shows your app's files in a tree, and you can edit and save them using a built-in source editor. Of course, you don't have to use the built-in editor: you can develop your app entirely outside WebIDE, and only use it for debugging.

- -

Finally, you can install the app in one of the runtimes and run it. You can then open the usual suite of developer tools - the Inspector, Console, JavaScript Debugger and so on - to examine and modify the running app.

- -
-
-
Opening WebIDE
-
How to open WebIDE from within Firefox.
-
Setting up runtimes
-
How to connect to a runtime in which you can install apps, including Firefox OS devices, the the Firefox OS Simulator, and Firefox for Android.
-
Creating and editing apps
-
How to create, open, and develop apps using WebIDE.
-
The runtime menu
-
Once you've selected a runtime, use the runtime menu to get information about the runtime and its apps, modify settings, and take a screenshot.
-
Running and debugging apps
-
How to install apps to a runtime and debug them using the Firefox Developer Tools.
-
Working with Cordova apps in WebIDE
-
From Firefox 39, you can edit and debug Cordova apps using WebIDE.
-
Troubleshooting
-
Help for problems with WebIDE, especially problems connecting to a runtime.
-
diff --git a/files/vi/web/css/-ms-scroll-snap-points-y/index.html b/files/vi/web/css/-ms-scroll-snap-points-y/index.html deleted file mode 100644 index 2fb27bbef7..0000000000 --- a/files/vi/web/css/-ms-scroll-snap-points-y/index.html +++ /dev/null @@ -1,89 +0,0 @@ ---- -title: '-ms-scroll-snap-points-y' -slug: Web/CSS/-ms-scroll-snap-points-y -translation_of: Archive/Web/CSS/-ms-scroll-snap-points-y ---- -
{{CSSRef}}
- -
{{non-standard_header}}
- -
 
- -

The -ms-scroll-snap-points-y CSS property is a Microsoft extension that specifies where snap-points will be located along the y-axis.

- -

{{cssinfo}}

- -

Syntax

- -

Values

- -
-

Note: a <length-percentage> is a value that can be either a {{cssxref("<length>")}} or a {{cssxref("<percentaqe>")}}.

-
- -
-
snapInterval( <length-percentage>, <length-percentage> )
-
-

Specifies a starting snap-point followed by the interval between all snap-points.

- -
    -
  • The first value specifies where the first snap-point will be placed.
  • -
  • The second value specifies the distance between subsequent snap-points both above and below the initial snap-point.
  • -
-
-
snapList( <length-percentage># )
-
-

Specifies the position of individual snap-points as a comma-separated list of values, each of which represents a zoom factor.

- -
    -
  • If any value is less than {{CSSXref("-ms-scroll-limit-y-min")}} , then {{cssxref("-ms-scroll-limit-y-min")}} is used.
  • -
  • If any value is greater than {{CSSXref("-ms-scroll-limit-y-max")}}, then {{cssxref("-ms-scroll-limit-y-max")}} is used.
  • -
-
-
- -

Formal syntax

- -
  {{csssyntax}}
-
- -

Examples

- -

This example demonstrates both types of values for the -ms-scroll-snap-points-y property. In the first selector, the first snap-point is at 0%, and the interval is set to 100%. In the second selector, each snap-point is listed separately — 100%, 200%, 300%, and so on. (The -ms-scroll-snap-points-y property behaves identically to the {{cssxref("-ms-scroll-snap-points-x")}} property, but along the y-axis.)

- -
.container {
-  overflow-x: auto;
-  overflow-y: hidden;
-  -ms-scroll-snap-type: mandatory;
-  -ms-scroll-snap-points-y: snapInterval(0%, 100%);
-  width: 480px;
-  height: 270px;
-}
-
-.imageContainer {
-  -ms-scroll-chaining: chained;
-  -ms-overflow-style: none;
-  -ms-content-zooming: zoom;
-  -ms-scroll-rails: none;
-  -ms-scroll-limit-y-min: 100%;
-  -ms-scroll-limit-y-max: 500%;
-  -ms-scroll-snap-type: proximity;
-  -ms-scroll-snap-points-y: snapList(100%, 200%, 300%, 400%, 500%);
-  -ms-overflow-style: none;
-  width: 480px;
-  height: 270px;
-  overflow: auto;
-}
-
- -

Specifications

- -

Not part of any specification.

- -

Remarks

- -

This property requires Windows 8 or later.

- -

This property has no effect on non-scrollable elements.

- -

Starting with Windows 8.1, this property is also supported for mouse, keyboard, and touchpad interaction.

diff --git a/files/vi/web/javascript/reference/global_objects/object/observe/index.html b/files/vi/web/javascript/reference/global_objects/object/observe/index.html deleted file mode 100644 index f9074ea94e..0000000000 --- a/files/vi/web/javascript/reference/global_objects/object/observe/index.html +++ /dev/null @@ -1,193 +0,0 @@ ---- -title: Object.observe() -slug: Web/JavaScript/Reference/Global_Objects/Object/observe -tags: - - ECMAScript7 - - Experimental - - JavaScript - - Method - - Object -translation_of: Archive/Web/JavaScript/Object.observe ---- -
{{JSRef}}
- -

Object.observe() được sử dụng để đồng bộ quan sát những thay đổi cho một đối tượng. Nó cung cấp một dòng thay đổi trong thứ tự mà chúng xảy ra.

- -

Cú pháp

- -
Object.observe(obj, callback[, acceptList])
- -

Tham số

- -
-
obj
-
Đối tượng được quan sát.
-
callback
-
Hàm được gọi mỗi lần có thay đổi trong obj, với những tham số sau: -
-
changes
-
Một mảng các đối tượng mô tả sự thay đổi. Mỗi đối tượng chứa các thuộc tính: -
    -
  • name: Tên thuộc tính đã thay đổi.
  • -
  • object: Đối tượng được thay đổi.
  • -
  • type: Một chuỗi cho biết loại thay đổi đang diễn ra. Có thể là "add", "update", hoặc "delete".
  • -
  • oldValue: Chỉ có cho loại "update" và "delete". Cho biết giá trị trước khi thay đổi.
  • -
-
-
-
-
acceptList
-
Danh sách các loại thay đổi được quan sát. Nếu bỏ qua, mặc định là ["add", "update", "delete", "reconfigure", "setPrototype", "preventExtensions"].
-
- -

Mô tả

- -

Hàm callback được gọi mỗi khi có thay đổi trong obj, với một mảng các đối tượng chứa thông tin về sự thay đổi.

- -

Ví dụ

- -

Ghi lại tất cả sáu loại thay đổi khác nhau

- -
var obj = {
-  foo: 0,
-  bar: 1
-};
-
-Object.observe(obj, function(changes) {
-  console.log(changes);
-});
-
-obj.baz = 2;
-// [{name: 'baz', object: <obj>, type: 'add'}]
-
-obj.foo = 'hello';
-// [{name: 'foo', object: <obj>, type: 'update', oldValue: 0}]
-
-delete obj.baz;
-// [{name: 'baz', object: <obj>, type: 'delete', oldValue: 2}]
-
-Object.defineProperty(obj, 'foo', {writable: false});
-// [{name: 'foo', object: <obj>, type: 'reconfigure'}]
-
-Object.setPrototypeOf(obj, {});
-// [{name: '__proto__', object: <obj>, type: 'setPrototype', oldValue: <prototype>}]
-
-Object.seal(obj);
-// [
-//   {name: 'foo', object: <obj>, type: 'reconfigure'},
-//   {name: 'bar', object: <obj>, type: 'reconfigure'},
-//   {object: <obj>, type: 'preventExtensions'}
-// ]
-
- -

Ràng buộc dữ liệu

- -
// Mô hình user
-var user = {
-  id: 0,
-  name: 'Brendan Eich',
-  title: 'Mr.'
-};
-
-// Lời chào tới user
-function updateGreeting() {
-  user.greeting = 'Hello, ' + user.title + ' ' + user.name + '!';
-}
-updateGreeting();
-
-Object.observe(user, function(changes) {
-  changes.forEach(function(change) {
-    // Bất kỳ khi nào tên hoặc danh hiệu thay đổi, gọi updateGreeting()
-    if (change.name === 'name' || change.name === 'title') {
-      updateGreeting();
-    }
-  });
-});
-
- -

Loại thay đổi tùy chỉnh

- -
// Một điểm trên một mặt phẳng
-var point = {x: 0, y: 0, distance: 0};
-
-function setPosition(pt, x, y) {
-  // Thực hiện thay đổi tùy chỉnh
-  Object.getNotifier(pt).performChange('reposition', function() {
-    var oldDistance = pt.distance;
-    pt.x = x;
-    pt.y = y;
-    pt.distance = Math.sqrt(x * x + y * y);
-    return {oldDistance: oldDistance};
-  });
-}
-
-Object.observe(point, function(changes) {
-  console.log('Distance change: ' + (point.distance - changes[0].oldDistance));
-}, ['reposition']);
-
-setPosition(point, 3, 4);
-// Distance change: 5
-
- -

Đặc tả

- -

Strawman proposal for ECMAScript 7.

- -

Khả năng tương thích trình duyệt

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
Tính năngChromeFirefox (Gecko)Internet ExplorerOperaSafari
Hỗ trợ cơ bản{{CompatChrome("36")}}{{CompatNo}}{{CompatNo}}{{CompatOpera("23")}}{{CompatNo}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
Tính năngAndroidChrome dành cho AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Hỗ trợ cơ bản{{CompatNo}}{{CompatChrome("36")}}{{CompatNo}}{{CompatNo}}{{CompatOpera("23")}}{{CompatNo}}
-
- -

Xem thêm

- - diff --git a/files/vi/zones/index.html b/files/vi/zones/index.html deleted file mode 100644 index 963955c37c..0000000000 --- a/files/vi/zones/index.html +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: Zones -slug: Zones -translation_of: Zones ---- -

MDN zones provide you one-stop access to information about specific topic areas or products. Here's a list of all the zones available to you.

-
-
-

Web and app development

-
-
- App Center
-
- Learn how to create open Web apps—rich experiences that run across multiple devices and form factors—using the same Web standards and open technologies you already know.
-
- Developer tools
-
- Learn how to use the Firefox developer tools to debug, test, and optimize your Web apps and sites.
-
- Firefox Marketplace
-
- An open, non-proprietary online marketplace for Web applications built using HTML, CSS, and JavaScript. Submit apps to the Firefox Marketplace or use the code to build your own marketplace.
-
- Game development
-
- Learn how to develop games for the Web, how to port existing games to Web technologies, and how to turn your games into Web apps.
-
-
-
-

Products and projects

-
-
- Emscripten
-
- An LLVM to JavaScript compiler; this lets you compile, for example, C++ code into JavaScript code which can be run in any Web browser.
-
- L20n
-
- A JavaScript localization framework for unleashing your natural language's power with simple code.
-
- The MDN project
-
- The Mozilla Developer Network (this site) relies on its community of readers and contributors to grow and improve. You can learn here how to help use, contribute to, and build the code behind MDN!1
-
- Persona
-
- A new simple, privacy-sensitive single-sign in system developed by Mozilla which lets users log into your Web site using their email address, freeing you from password management.
-
-

Mozilla technologies

-
-
- Add-ons
-
- Learn how to build and install extensions, themes, and plug-ins for Mozilla-based software, including the popular Firefox Web browser.
-
- Firefox
-
- Learn all about Firefox, from how to build and revise it to how to build add-ons specifically for it.
-
- Firefox OS
-
- A new mobile operating system developed by Mozilla which lets users install and run open Web applications created using HTML, CSS, and JavaScript.
-
-
-
-

 

-- cgit v1.2.3-54-g00ecf