Find Jobs
Hire Freelancers

Building browser extensions for IE, Safari, Chrome, and Firefox

$500-5000 USD

已取消
已发布超过 12 年前

$500-5000 USD

货到付款
Let us not waste each other's time by posting a spammy message about your work on Drupal, Magento, Wordpress etc. In your message talk only about your experience in building browser extensions. This is a project that we will use to build something more interesting. We are looking to get this extension built in IE, Safari, Chrome, and Firefox, so that we can save on our development time. We look forward to working with you. The purpose of extension: ? pick the highlighted keyword in a browser window, ? search in google by using url- [login to view URL], ? parse the search results, specifically urls and headings of first 5 search results ? open a popup window and display the parsed search results. In the popup window, extension should also show the search term, changing which should update search results. Please make a note, extension does not show the results from Google directly, but only the url and headings of first 5 search results. Other needed frills: ? Google may change page design and this may break parsing results correctly. So we will like to make a check on our server if there is any newer version of parsing class available. If yes, then extension should use this new parsing library. ? If we later want to update extension automatically, then there should be provision for it ? Opening a popup window may be blocked by popup blocker. We are looking forward to explore any alternative approach (may be a div-based or modal page, eg [login to view URL]) to avoid this problem. We are open for suggestions. ## Deliverables > # The purpose of extension: > > ? pick the highlighted keyword in a browser window, > > ? search in google by using url- <[login to view URL]>, > > ? parse the search results, specifically urls and headings of first 5 search results > > ? open a popup window and display the parsed search results. In the popup window, extension should also show the search term, changing which should update search results. Please make a note, extension does not show the results from Google directly, but only the url and headings of first 5 search results. > > Other needed frills: > > ? Google may change page design and this may break parsing results correctly. So we will like to make a check on our server if there is any newer version of parsing class available. If yes, then extension should use this new parsing library. > > ? If we later want to update extension automatically, then there should be provision for it > > ? Opening a popup window may be blocked by popup blocker. We are looking forward to explore any alternative approach (may be a div-based or modal page, eg <[login to view URL]>) to avoid this problem. We are open for suggestions. > > Our suggested approach for the search part: > > *parseClass* contains property, *classVersion,* which tracks the version of *parseClass*. *parseClass* contains methods *parseGoogle* that is responsible for parsing Google's source code. There will be a default *parseClass* in the extension. > > User may activate the extension by right-clicking on highlighted words, *searchTerm*, and selecting *SearchGoogle* option. Alternatively, a user may press *alt+1* keys combination. If user right-clicks in browser without highlighting any word, then it implies that *searchTerm* = ''; Next is what needs to be done after extension is triggered. > > Following part checks if *classVersion* of *parseClass* on the remote server is newer than the *classVersion* of *parseClass* loaded in the extension, and accordingly retrieve *parseClass* from the remote server. Extension can store cookie *latestVersion*, which can track the latest version of *parseClass* on the remote server since the last check. > > *latestVersion* = get the latest version from remote server; > > if fails to get from server, then set *latestVersion* = version of the current *parseClass*; > > if (*latestVersion* > *classVersion* of the loaded *parseClass*){ > > *newParseClass* = retrieve *parseClass* from remote server; > > if *newParseClass* fails then try again. > > If succeeds then *parseClass* = *newParseClass*; > > //if download fails again then continue to use *parseClass;* > > } > > a. Open a *popupPage*; If the *popupPage* is already open then use it, instead of opening a new one. > > b. Get the highlighted term, *searchTerm,* from the browser window and also the url of the source page, *sourceUrl;* Show the *searchTerm* in the search box of *popupPage*; > > c. Below the search box show results in *popupPage*. Note: Changing the *searchTerm* in the search box of *popupPage* should update the search results in *popupPage*; Following part will specify how to get search results. > > i. Makes a google search by requesting <[login to view URL]> store the source Code in a variable *googleSourceCode*; > > ii. Parse *googleHeadings[]*, *googleUrls[]* using *parseGoogle* method from the *parseClass* for the first 5 results > > 1. If parsing fails, then communicate to the server- the *searchTerm*, and the *googleSourceCode*; > > iii. Show the *googleHeadings[]*, *googleUrls[]* and a button next to each search result; > > iv. Open the *googleUrls[]*, and store the html source codes in array *resultsSourceCodes[]*; > > v. Send the *googleHeadings[]*, *googleUrls[]* , and *resultsSourceCodes[]* to the remote server; > > a. If sending fails try again, if again fails then throw error message to user in *popupPage*; > > b. If succeeds then API returns a url-*returnedUrl*. Open this *returnedUrl* in a new tab.
项目 ID: 3456806

关于此项目

4提案
远程项目
活跃13 年前

想赚点钱吗?

在Freelancer上竞价的好处

设定您的预算和时间范围
为您的工作获得报酬
简要概述您的提案
免费注册和竞标工作
4威客以平均价$1,721 USD来参与此工作竞价
用户头像
See private message.
$510 USD 在14天之内
0.0 (1条评论)
0.0
0.0
用户头像
See private message.
$850 USD 在14天之内
0.0 (6条评论)
0.0
0.0
用户头像
See private message.
$2,975 USD 在14天之内
0.0 (2条评论)
0.0
0.0
用户头像
See private message.
$2,550 USD 在14天之内
0.0 (0条评论)
0.0
0.0

关于客户

UNITED STATES的国旗
Salt Lake City, United States
5.0
13
会员自11月 22, 2008起

客户认证

谢谢!我们已通过电子邮件向您发送了索取免费积分的链接。
发送电子邮件时出现问题。请再试一次。
已注册用户 发布工作总数
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
加载预览
授予地理位置权限。
您的登录会话已过期而且您已经登出,请再次登录。