首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Asp.net MVC中使用AMP

问如何在Asp.net MVC中使用AMP
EN

Stack Overflow用户
提问于 2017-01-19 21:37:51
回答 3查看 5.7K关注 0票数 0

我想在移动加速项目中使用移动加速页面,我在asp.net移动虚拟现实项目中工作,因为我有两个文件,一个用于移动设备,一个用于桌面。那么我可以在手机上使用AMP吗?

如果我可以使用组合,有什么问题吗?或者我必须为移动设备创建新的项目?

EN

回答 3

Stack Overflow用户

发布于 2017-01-25 18:57:59

阅读AMP Project网站可能是个好主意。然而,我们有AMP WebForms,我们通过剥离ASP.NET并转换内容以支持AMP标签,动态地创建了我们内容的AMP版本。换句话说,我们有两个版本的代码,一个AMP,一个非AMP。

在您的特定情况下,您必须编写采用现有代码库并输出AMP版本的代码。

我的建议--谷歌,阅读,重复。

票数 2
EN

Stack Overflow用户

发布于 2018-03-14 14:19:17

这是在Asp.net Mvc应用程序中使用Amp的最简单方法。

第1步控制器

创建一个控制器,将其命名为AMP,如下所示

代码语言:javascript
复制
 public class AmpController : Controller
{

 public ActionResult Index()
    {
      //Return page which contain Amp
     return View();

    } 
}

在将视图返回到现有的家庭或默认控制器之前添加此行,这会将移动流量重定向到Amp

代码语言:javascript
复制
  public class HomeController : Controller
  {
     public ActionResult Index()
     {
        if (Request.Browser.IsMobileDevice)
          {
           Response.Redirect("~/Amp/Index");          
          }
         //This is not Amp View
            return View();
      }
  }

第2步索引视图

查看放大器控制器的索引文件必须是Amp 验证,您可以检查页面的html渲染是否Amp通过启动您的asp.net mvc工程和浏览localhost:0000/Amp/Index这里替换为您自己的本地主机,然后当页面显示右击查看源代码复制它,然后通过到Amp validator检查它是否有效。

这里是有效的Amp,您可以通过内部索引的Amp控制器视图转到Amp site

通过这种方式,您可以在Asp.net mvc中创建Amp页面。

添加

使用Amp时,不要忘记替换这些Razor属性

  1. 表单操作属性替换为操作-xhr请参阅只能在E132内部使用Here
  2. Css此处E233请参阅可以使用amp-iframe编写首先需要编写此行以便在amp中使用amp-iframe

然后,您可以在body中像这样使用javascript

代码语言:javascript
复制
<amp-iframe width="0" height="0"
              sandbox="allow-scripts allow-same-origin"
              layout="responsive"
              frameborder="0"
              src="~/Scripts/yourscriptname.js">
  </amp-iframe>

4.空格问题当使用amp时,如果你在编写Amp时留下空格或任何东西,你可能会面临验证错误,所以你需要使用Vs格式代码或css compressor7格式化你的代码,这背后的想法是你的页面消耗更多的字节当它有更多的白色space.When时,你从记事本或任何编辑器上从他们的网站复制粘贴Amp代码,它会在代码中添加一些额外的空格,这样该页面就不会被验证为Amp。

5. Git Here上提供的是我在Mvc上的Amp项目,但如果您正在使用SEO,您可以根据您的业务需求对其进行修改。

票数 2
EN

Stack Overflow用户

发布于 2017-01-31 21:58:58

我不认为你必须创建一个新的项目,因为AMP和非AMP版本之间的主要区别只是你的视图,你可能不应该接触你的控制器或模型。

有一个interesting article有一个干净的解决方案,它注册了一个自定义显示模式,它动态地决定asp.net mvc是否必须服务于AMP或非AMP版本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41743152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档