怎么把网页拍文字转换成文章字,就是那种在文章中点击之后可以跳转的

他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)HTML中有一个button,如何让它点击后跳转到指定页面或动作_百度知道
HTML中有一个button,如何让它点击后跳转到指定页面或动作
我有更好的答案
input type=&button& value=&quot。给你几个例子吧, 单独添加一个链接;/script& & value=&我是一个按钮& onclick=&;}&lt.href=&&#39;&& 触发一个函数跳转:&script&function jump(){ window.location,实现跳转:&input type=&quot.sina.com.cn/mleavs" target="_blank">http://blog,这可是一个功能强大的东西,想跳转,想触发函数等都可以滴.location.href=&#39;<a href="http://button&quot按钮.sina.com.cn/mleavs&quot:jump()&我是一个按钮&quot
采纳率:37%
/input&gt&a href="路径"&&input type="button"&&&/a&gt
本回答被网友采纳
添加一个事件&a href=&你要跳转的页面&&点击我跳转&/a&
&a href=&Default.aspx&&点击我跳转&/a&
按钮加链接,我也不会,只是截个按钮的图再加链接,效果差不多、、、
其他2条回答
为您推荐:
其他类似问题
button的相关知识
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
之前是用jQuery的post()方法实现向服务器POST数据.
现在新需求需要呈现服务器返回的HTML页面.这个呈现是类似于普通form提交后跳转的过程.
使用表单进行POST的方法
&form method="post" action="/B"&
&input type="hidden"
name="foo" value="bar"&
&button type='submit'&
点击Submit 就可以向"/B"POST数据并跳转到B页面
$.post("/B",{"foo":"bar"})
这种方法能够POST自定义数据但是不能够跳转到B页面
现在的需求:
用JavaScript 控制POST的数据内容并跳转到B页面,类似ExtJS的standardSubmit功能
需求决定我们不能在页面上使用form来提交数据.因为提交的数据是页面上几个Div的全部HTML内容(实际上是富文本编辑器).使用jQuery的.html()方法取得这些HTML内容.
现在想到的思路是使用jQuery 在内存中建立一个form对象,然后调用这个对象的submit方法
form = $("
&form method='post' action='foo'&&/form&
str = $("#bar").html()
input = $("&input type='text'&").val(str).attr('name','bar')
form.append(input)
//....继续添加字段
form.submit()
上面这种方法虽然能用,但是感觉很丑,有没有更好的方法?
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
$.extend({
StandardPost:function(url,args){
var form = $("&form method='post'&&/form&"),
form.attr({"action":url});
$.each(args,function(key,value){
input = $("&input type='hidden'&");
input.attr({"name":key});
input.val(value);
form.append(input);
form.submit();
这段代码有兼容性问题,在IE低版本和火狐下不通过,需要在submit前将form.appendTo(document.body),否则无法提交且不会报错,submit后应该从body中remove此结点。另建议给form加上display:none防止影响展现,最终代码如下:
$.extend({
StandardPost:function(url,args){
var body = $(document.body),
form = $("&form method='post'&&/form&"),
form.attr({"action":url});
$.each(args,function(key,value){
input = $("&input type='hidden'&");
input.attr({"name":key});
input.val(value);
form.append(input);
form.appendTo(document.body);
form.submit();
document.body.removeChild(form[0]);
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。2009年6月 挨踢职涯大版内专家分月排行榜第二2009年5月 挨踢职涯大版内专家分月排行榜第二2009年3月 挨踢职涯大版内专家分月排行榜第二2008年12月 挨踢职涯大版内专家分月排行榜第二
2009年6月 Web 开发大版内专家分月排行榜第三
匿名用户不能发表回复!|富文本编辑(点击文字跳转与图文混排) - 简书
富文本编辑(点击文字跳转与图文混排)
点击问题跳转
在这里我使用了两种方式去实现,一种是使用CoreText,另外一种是使用UITextView(基于TextKit,iOS7之后才可以使用)
声明一个局部变量
@interface ReplyTextView()
绘制字符串,@XXX部分使用蓝色字体(在本例子中是self.to_user_name部分)
- (void)drawRect:(CGRect)rect {
// Drawing code
if (self.user_name && self.to_user_name && self.content) {
NSString *combineText = [NSString stringWithFormat:@"%@@%@
%@",self.user_name,self.to_user_name,self.content];
self.combineAttText = [[NSMutableAttributedString alloc] initWithString:combineText];
[self.combineAttText beginEditing];
CTFontRef font = CTFontCreateWithName(CFSTR("AlNilePUA"), 12, NULL);
[self.combineAttText addAttribute:(__bridge id)kCTFontAttributeName value:(__bridge id)font range:NSMakeRange(0, self.combineAttText.length)];
// set user_name Color
[self.combineAttText addAttribute:(__bridge id)kCTForegroundColorAttributeName value:RGBCOLOR(37, 40, 57) range:NSMakeRange(0, self.user_name.length)];
// set to_user_name Color
[self.combineAttText addAttribute:(__bridge id)kCTForegroundColorAttributeName value:RGBCOLOR(8, 120, 198) range:NSMakeRange(self.user_name.length, self.to_user_name.length + 3)];
// set content Color
[self.combineAttText addAttribute:(__bridge id)kCTForegroundColorAttributeName value:RGBCOLOR(130, 130, 130) range:NSMakeRange(self.combineAttText.length - self.content.length, self.content.length)];
[self.combineAttText endEditing];
// CTFramesetter是CTFrame的创建工厂,NSAttributedString需要通过CTFrame绘制到界面上,得到CTFramesetter后,创建path(绘制路径),然后得到CTFrame,最后通过CTFrameDraw方法绘制到界面上
CTFramesetterRef framesetter = CTFramesetterCreateWithAttributedString((CFAttributedStringRef)self.combineAttText);
CGMutablePathRef path = CGPathCreateMutable();
CGPathAddRect(path, NULL ,CGRectMake(0, -2, self.bounds.size.width, self.bounds.size.height));
if (frame != nil) {
CFRelease(frame);
frame = CTFramesetterCreateFrame(framesetter, CFRangeMake(0, 0), path, NULL);
//获取当前(View)上下文以便于之后的绘画,这个是一个离屏。
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetTextMatrix(context , CGAffineTransformIdentity);
//压栈,压入图形状态栈中.每个图形上下文维护一个图形状态栈,并不是所有的当前绘画环境的图形状态的元素都被保存。图形状态中不考虑当前路径,所以不保存
//保存现在得上下文图形状态。不管后续对context上绘制什么都不会影响真正得屏幕。
CGContextSaveGState(context);
//x,y轴方向移动
CGContextTranslateCTM(context , 0 ,self.bounds.size.height);
//缩放x,y轴方向缩放,-1.0为反向1.0倍,坐标系转换,沿x轴翻转180度
CGContextScaleCTM(context, 1.0 ,-1.0);
CTFrameDraw(frame,context);
CGPathRelease(path);
CFRelease(framesetter);
判断点击文字的位置
- (long)indexAtPoint:(CGPoint)point{
point = CGPointMake(point.x, CGRectGetMaxY(self.bounds) - point.y); // 这里Y坐标系是反的,所以需要减
NSArray *lines = (__bridge NSArray *)(CTFrameGetLines(frame));
CGPoint origins[lines.count];
CTFrameGetLineOrigins(frame, CFRangeMake(0, lines.count), origins);
for(int i = 0; i & lines. i++) {
if(point.y & origins[i].y) {
CTLineRef line = (__bridge CTLineRef)([lines objectAtIndex:i]);
return CTLineGetStringIndexForPosition(line, point);
这里是点击的时候判断点击位置,如果点击@XXX则做相应操作
- (void)touchesBegan:(NSSet&UITouch *& *)touches withEvent:(UIEvent *)event{
UITouch *user_touch = [touches anyObject];
CGPoint touch_point = [user_touch locationInView:self];
long index = [self indexAtPoint:touch_point];
if (index & self.user_name.length && index & self.user_name.length + self.to_user_name.length + 3) {
// touch @user
if ([self.delegate respondsToSelector:@selector(touchShowHomePageArea:)]) {
[self.delegate touchShowHomePageArea:YES];
// reply somebody
if ([self.delegate respondsToSelector:@selector(touchShowHomePageArea:)]) {
[self.delegate touchShowHomePageArea:NO];
使用UITextView(TextKit)
这里使用UITextView则简单得多
这里创建一个基于UITextView的类
#pragma mark - DrawCode
- (void)drawRect:(CGRect)rect {
if (self.user_name && self.to_user_name && self.content) {
NSString *combineText = [NSString stringWithFormat:@"%@@%@:%@",self.user_name,self.to_user_name,self.content];
self.attributedText = [[NSMutableAttributedString alloc] initWithString:combineText];
// 设置常规属性
[self setUpNormalAttribute];
// 设置表情链接
[self setUpEmojiAndLink];
// 注:点击链接反馈直接在UITextViewDelegate里面
#pragma mark - 设置常规属性
- (void)setUpNormalAttribute{
// 注:不能直接使用attributedText,只能copy然后再赋值
NSMutableAttributedString *mutStr = [self.attributedText mutableCopy];
// 设置评论人名字属性
[mutStr addAttributes:@{NSForegroundColorAttributeName :RGBCOLOR(37, 40, 57),
NSFontAttributeName :[UIFont systemFontOfSize:12.0]} range:NSMakeRange(0,[self.user_name length])];
// 设置内容
[mutStr addAttributes:@{NSForegroundColorAttributeName :RGBCOLOR(130, 130, 130),
NSFontAttributeName :[UIFont systemFontOfSize:12.0]} range:NSMakeRange(mutStr.length - [self.content length],[self.content length])];
self.attributedText = [mutStr copy];
#pragma mark - 设置表情链接
- (void)setUpEmojiAndLink{
NSMutableAttributedString * mutStr = [self.attributedText mutableCopy];
// 添加链接(点击链接反馈直接在UITextViewDelegate里面)
NSURL *url = [NSURL URLWithString:self.to_user_id];
[mutStr addAttribute:NSLinkAttributeName value:url range:NSMakeRange([self.user_name length],[self.to_user_name length] + 1)];
self.attributedText = [mutStr copy];
这里图文混排给予UITextView
设置图片以及插入位置
- (void)setUpEmojiAndLink{
NSMutableAttributedString *mutStr = [self.textView.attributedText mutableCopy];
// Add Emoji
UIImage *image1 = [UIImage imageNamed:@"emoji"];
NSTextAttachment *attachment1 = [[NSTextAttachment alloc] init];
attachment1.bounds = CGRectMake(0, 0, 30, 30);
attachment1.image = image1;
NSAttributedString *attStr1 = [NSAttributedString attributedStringWithAttachment:attachment1];
[mutStr insertAttributedString:attStr1 atIndex:30];
// Add Emoji2
UIImage *image2 = [UIImage imageNamed:@"label1"];
NSTextAttachment *attachment2 = [[NSTextAttachment alloc] init];
attachment2.bounds = CGRectMake(0, 0, 50, 10);
attachment2.image = image2;
NSAttributedString *attStr2 = [NSAttributedString attributedStringWithAttachment:attachment2];
[mutStr insertAttributedString:attStr2 atIndex:40];
[self.textView setAttributedText:[mutStr mutableCopy]];
设置环绕路径
- (void)setLoopPath{
// Set Location Of ImageView
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(120, 20, 100, 50)];
imageView.image = [UIImage imageNamed:@"label2"];
[self.view addSubview:imageView];
// Set Loop Path
UIBezierPath *path = [UIBezierPath bezierPathWithRect:CGRectMake(100, 15, 100, 50)];
self.textView.textContainer.exclusionPaths = @[path];
DCC91AA8--AB03-A.png
iOS 开发小白一枚。
从今开始,在此记录自己的点滴成长!
转载:https://yq.aliyun.com/articles/60173 https://objccn.io/issue-5-1/ 摘要:在iOS开发中,使用TextKit框架进行富文本布局。TextKit有一组高级的类和协议组成,其中使用比较上层的API来完成复杂的...
系列文章: CoreText实现图文混排 CoreText实现图文混排之点击事件 CoreText实现图文混排之文字环绕及点击算法 CoreText实现图文混排之尺寸估算及文本选择 也好久没来写博客了,主要是最近也工作了,手头的事有点多,一时间也就断了,闲下来了我就来补博客...
前言 现在市场上大部分信息展示类应用都有用到图文混排,我之前对这块也是一知半解,最近放假正好深入了解一下这块,在这里对此做一个总结,废话不多说,先上 demo 地址TextKit入门 demo地址精仿手工课 demo地址精仿手工课博客地址 背景知识 在正式开始学习之前,我们...
原文链接:http://my.oschina.net/qianglong/blog/358233 使用UITextView显示一段电影的简介,由于字数比较多,所以字体设置的很小,行间距和段间距也很小,一大段文字挤在一起看起来很别扭,想要把行间距调大,结果在XCode中查遍其...
发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注
09:45字数 61697阅读 3316评论 2喜欢 85 用到的组件 1、通过CocoaPods安装 项目名称 项目信息 AFNetworking 网络请求组件 FM...
三 冬天来了,世界又被白茫茫的雪笼罩。小村静下来了,劳作了大半年的农民收获了满仓的粮食,都开始猫冬了。屯子里,当街上,还是有一群孩子到处疯跑,藏猫猫,跳房子,钉钉子,打哧溜滑。属于他们的快乐永远那么旺盛,属于他们的天地永远那么生机勃勃。 小冬子却很少出去了。她觉得,她和他们...
一枝花熬过风雨的秘诀,就是没有秘诀,每朵花都互相扛着,不松懈。 一个家挺过艰难的方法,其实没有方法,每个人都彼此拉着,不放手。
——01—— 《当下的力量》是【德】埃克哈特.托利的一本经典之作。知道这本书是因为在读其他书籍时,作者们林林总总地喜欢引用他的语录和文字。包括前段时间我刚读完的【西】乔治.布莱斯切克的《当下的觉醒》,实际上是《当下的力量》一部完整的读后感。 据说读到这本书的人,受到它的影响...
第二天,鹿拉睁开朦胧的双眼,阴暗的房间让人感觉不到时间,鹿拉坐起来,却看见黑牛床上已是空荡荡的了。 “咦?大黑牛呢?难道上厕所了,现在几点了啊?”鹿拉一边碎碎念一边往门口走,他打算去厕所找找黑牛,一个人待在这阴暗的小屋子里怪恐怖的呢! 突然,“叮铃铃,叮铃铃……”床头传来无...
写在前面:不想看文的可以直接拉到最后,看要求,写留言啦~ 日晚11点。 这个时候,本应该在床上躺平的我,却还开着一盏小灯,坐在电脑前噼里啪啦地敲着。也不为别的,只不过在床上翻来覆去第N次入眠失败之后,我决定下来写点什么。 说实话,对我而言,这一年并不是太...}

我要回帖

更多关于 拍文字转换成文章 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信