{"id":21989061,"url":"https://github.com/imweb/preload","last_synced_at":"2025-07-11T15:17:13.740Z","repository":{"id":76789586,"uuid":"64361009","full_name":"imweb/preload","owner":"imweb","description":"Ajax预加载组件","archived":false,"fork":false,"pushed_at":"2016-07-28T03:37:38.000Z","size":4,"stargazers_count":56,"open_issues_count":0,"forks_count":5,"subscribers_count":23,"default_branch":"master","last_synced_at":"2025-04-30T11:50:59.363Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/imweb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-07-28T03:22:59.000Z","updated_at":"2023-08-18T03:09:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"fa0f1ad8-2fba-4858-9c10-c313a7707a53","html_url":"https://github.com/imweb/preload","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/imweb/preload","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imweb%2Fpreload","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imweb%2Fpreload/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imweb%2Fpreload/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imweb%2Fpreload/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/imweb","download_url":"https://codeload.github.com/imweb/preload/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imweb%2Fpreload/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264837928,"owners_count":23671119,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-29T19:27:33.512Z","updated_at":"2025-07-11T15:17:13.714Z","avatar_url":"https://github.com/imweb.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# preload\n\n预加载数据\n\n## API\n\n### Preload.load(option, callback)\n\n预加载一个cgi\n\n#### Arguments\n\n- `option` `{Object}`\n- `option.url` `{String}`  url\n- `option.data` `{Object}` data\n- `option.type` `{String}` GET|POST\n- `callback` `{Function(Object)}` 数据回调\n\n### Preload.get(option, callback)\n\n获取预加载的数据\n\n- `option` `{Object}` \n- `option.url` `{String}`  url\n- `option.data` `{Object}` data\n- `option.type` `{String}` GET|POST\n- `callback` `{Function(Object)}` 数据回调, 当无预加载时callback(null)\n\noption.url和option.data需与Preload.load()时的保持一致\n\n## Usage\n\n```html\n\u003c!DOCTYPE html\u003e\n\u003chtml lang=\"zh_CN\"\u003e\n\u003chead\u003e\n    \u003cscript src=\"preload?__inline\"\u003e\u003c/script\u003e\u003c!--ignore--\u003e\n    \u003cscript src=\"./preload?__inline\"\u003e\u003c/script\u003e\u003c!--ignore--\u003e\n\u003c/head\u003e\n\u003cbody\u003e\n    \u003cscript src=\"./index\"\u003e\u003c/script\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n```\n\n```javascript\n// preload.js\n/**\n * @noWrap\n */\n(function() {\n    Preload.load({\n        url: '/cgi-bin/now/web/room/get_record_room_info',\n        data: {\n            vid: Preload.query('vid')\n        }\n    });\n})();\n```\n\n```javascript\n// index.js\n// 直接改造db组件,业务代码无需修改\n```\n\n```javascript\n// db.js\nif (window.Preload) {\n    Preload.get({\n        url: option.url,\n        data: option.data\n    }, function(data) {\n        if (data) {\n            setTimeout(function() {\n                _complete(data);\n            }, 1);\n        } else {\n            $.ajax(option);\n        }\n    });\n} else {\n    $.ajax(option);\n}\n```\n\n## Note\n\n- 同一个load()只能get()一次，之后get()回调均为null\n- 预加载请求失败时回调`callback({ retcode: xhr.status, netError: true })`\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimweb%2Fpreload","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimweb%2Fpreload","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimweb%2Fpreload/lists"}