大家好,我是昨天发了一篇IE插件求助的帖子的。http://community.csdn.net/Expert/topic/4722/4722532.xml?temp=.1637689
那个帖子已经结了。
今天我们leader讨论后,估计短期内自己是做不出来了,就打算把这个IE插件外包出去。这里再简单的说一下内容。
是一个少儿教育网站的一个IE插件。网站我们已经做的差不多了,但是这个插件搞不定。客户要求是,家长安装了这个IE的插件之后,可以设置不健康单词和替换单词,
1,小孩访问某个网页的时候,插件自动检查网页的内容中有没有设置过的不健康的单词,有的话,就替换成替换用的单词,然后修改后的内容显示给小孩。比如,设置“裸体”替换成“健康”,那么网页中所有的“裸体”会被替换成“健康”,然后修改后的网页显示给小孩。
2,要求UNICODE版,目前只考虑支持汉语和英语,以后可能考虑日语和韩语等,所以请考虑国际化的编码问题。
3,要求支持IE5 - IE6的最新版,IE7目前先不考虑,当然,如果能做成通用的更好。
4, 以后会考虑其它的浏览器的版本,比如firefox,不过目前只是做IE的。
5,在用户在这个网站注册之后,下载安装这个插件的时候,生成一个唯一的id 植入这个插件中。当用户访问这个教育网站的时候,插件可以把这个ID的值放入request的head中,比如uid =<id的值>,然后网站的jsp中,用getHead(uid)就可以得到这个id的值了。
6,插件的界面中有一个上传不健康单词的按钮,家长按了之后,可以上传这个家长设置过的不健康单词到这个教育网站的一个接口,以便网站收集。
7,如果有感兴趣的大侠,请给我们来信,信中请送上简单的demo功能。不需要提供任何输入界面,也不需要提供任何source,可以固定一组替换单词,比如"不健康"-〉“有益”,只要我们装上IE后,自己做一个含有“不健康”字眼的网页,然后显示后确实替换成了“有益”,就可以开始合作。
8,酬劳的支付方式是合作开始50%,最后用户确认后,付剩下的50%。用户确认过程中可能有些许修改,请谅解。
9,完成之后,source和版权全部属于这个客户,想必这个也没什么问题吧。
10,插件的交付时间-〉5月15日。5月16日我们交给客户确认,确认至5月20日。
11,酬劳,可能是大家最关心的;). 1000-1500,这个是集合了这几天的几位高人的建议之后决定的。当然,质量和速度也是我们看重的,价格可以再商量,不过不会高很多的哦。
大致就这么多要求了,估计时间快来不及了,哎。联系方式:[email protected]
期盼大侠您的帮助。多谢多谢。祝大家五一快乐
那个帖子已经结了。
今天我们leader讨论后,估计短期内自己是做不出来了,就打算把这个IE插件外包出去。这里再简单的说一下内容。
是一个少儿教育网站的一个IE插件。网站我们已经做的差不多了,但是这个插件搞不定。客户要求是,家长安装了这个IE的插件之后,可以设置不健康单词和替换单词,
1,小孩访问某个网页的时候,插件自动检查网页的内容中有没有设置过的不健康的单词,有的话,就替换成替换用的单词,然后修改后的内容显示给小孩。比如,设置“裸体”替换成“健康”,那么网页中所有的“裸体”会被替换成“健康”,然后修改后的网页显示给小孩。
2,要求UNICODE版,目前只考虑支持汉语和英语,以后可能考虑日语和韩语等,所以请考虑国际化的编码问题。
3,要求支持IE5 - IE6的最新版,IE7目前先不考虑,当然,如果能做成通用的更好。
4, 以后会考虑其它的浏览器的版本,比如firefox,不过目前只是做IE的。
5,在用户在这个网站注册之后,下载安装这个插件的时候,生成一个唯一的id 植入这个插件中。当用户访问这个教育网站的时候,插件可以把这个ID的值放入request的head中,比如uid =<id的值>,然后网站的jsp中,用getHead(uid)就可以得到这个id的值了。
6,插件的界面中有一个上传不健康单词的按钮,家长按了之后,可以上传这个家长设置过的不健康单词到这个教育网站的一个接口,以便网站收集。
7,如果有感兴趣的大侠,请给我们来信,信中请送上简单的demo功能。不需要提供任何输入界面,也不需要提供任何source,可以固定一组替换单词,比如"不健康"-〉“有益”,只要我们装上IE后,自己做一个含有“不健康”字眼的网页,然后显示后确实替换成了“有益”,就可以开始合作。
8,酬劳的支付方式是合作开始50%,最后用户确认后,付剩下的50%。用户确认过程中可能有些许修改,请谅解。
9,完成之后,source和版权全部属于这个客户,想必这个也没什么问题吧。
10,插件的交付时间-〉5月15日。5月16日我们交给客户确认,确认至5月20日。
11,酬劳,可能是大家最关心的;). 1000-1500,这个是集合了这几天的几位高人的建议之后决定的。当然,质量和速度也是我们看重的,价格可以再商量,不过不会高很多的哦。
大致就这么多要求了,估计时间快来不及了,哎。联系方式:[email protected]
期盼大侠您的帮助。多谢多谢。祝大家五一快乐
http://www.vckbase.com/document/viewdoc/?id=1446
看看大家有没有启发?
那么具体开多少合适呢?请高手大胆开价,不要说晦涩的话嘛。大家说心里价位好了
MSHTML::IHTMLDocument2Ptr pDoc2,
_bstr_t bstrinputfrom, _bstr_t bstrinputto)
{
HRESULT hr = S_OK;
//IHTMLDocument2 * pDoc2;
IMarkupServices * pMS;
IMarkupContainer * pMarkup;
IMarkupPointer * pPtr1, * pPtr2;
TCHAR * pstrFrom = _T( bstrinputfrom );
TCHAR * pstrTo = _T( bstrinputto );
pDoc2->QueryInterface( IID_IMarkupContainer, (void **) & pMarkup );
pDoc2->QueryInterface( IID_IMarkupServices, (void **) & pMS ); // need two pointers for ing
pMS->CreateMarkupPointer( & pPtr1 );
// beginning and ending position of text.
pMS->CreateMarkupPointer( & pPtr2 ); //
// Set gravity of this pointer so that when the replacement text
// is inserted it will float to be after it.
//
pPtr1->SetGravity( POINTER_GRAVITY_Right ); // Right gravity set //
// Start the search at the beginning of the primary container
// pPtr1->MoveToContainer( pMarkup, TRUE ); for ( ; ; )
{
hr = pPtr1->FindText( (unsigned short *) pstrFrom, 0, pPtr2, NULL ); if (hr == S_FALSE) // did not find the text
break; // found it, removing..
pMS->Remove( pPtr1, pPtr2 );
//inserting new text
pMS->InsertText( (unsigned short *) pstrTo, -1, pPtr1 );
}
if (hr == S_FALSE) return FALSE;
else return(TRUE);
}
多谢jiangsheng(蒋晟.Net[MVP])
以后有问题还请多多帮忙。