jCrop无法在Sharepoint webpart或应用页面中使用

时间:2013-07-24 13:07:11

标签: sharepoint jcrop

您好我在使用jquery 1.4.3和jcrop将我在asp.net中制作的项目迁移到sharepoint环境时遇到了问题。即使在IE中也能完美运行。

这是我的脚本代码:

<link href="Scripts/jquery.Jcrop.css" rel="stylesheet" />
<script type="text/javascript" src="Scripts/jquery-1.4.3.js"></script>
<script type="text/javascript" src="Scripts/jquery.Jcrop.js"></script>

    <script type="text/javascript" defer='defer'>
        jQuery(window).load(function () {
        var jcrop_obj;

      jQuery('#imgCrop').Jcrop({
                onSelect: storeCoords,
                aspectRatio: 1 / 1
            }, function () { jcrop_obj = this; });

        });

        function storeCoords(c) {
            jQuery('#X').val(c.x);
            jQuery('#Y').val(c.y);
            jQuery('#W').val(c.w);
            jQuery('#H').val(c.h);
        };
</script>

这是我使用的元素与我在sharepoint之外的解决方案中使用的元素完全相同。

<body>
  <form id="form1" runat="server">
  <div>
    <asp:Panel ID="pnlUpload" runat="server">
      <asp:FileUpload ID="Upload" runat="server" />
      <br />
      <asp:Button ID="btnUpload" runat="server" OnClick="btnUpload_Click" Text="Upload" />
      <asp:Label ID="lblError" runat="server" Visible="false" />
    </asp:Panel>
    <asp:Panel ID="pnlCrop" runat="server" Visible="false" Width="956px">
      <asp:Image ID="imgCrop" runat="server" />
      <br />
      <asp:HiddenField ID="X" runat="server" />
      <asp:HiddenField ID="Y" runat="server" />
      <asp:HiddenField ID="W" runat="server" />
      <asp:HiddenField ID="H" runat="server" />
      <asp:Button ID="btnCrop" runat="server" Text="Crop" OnClick="btnCrop_Click" />
    </asp:Panel>
    <asp:Panel ID="pnlCropped" runat="server" Visible="false">
        <asp:Label ID="Label1" runat="server" Text="Here is your cropped picture:"></asp:Label>
        <br />
      <asp:Image ID="imgCropped" runat="server" />
    </asp:Panel>
  </div>
  </form>
</body>

当然我也有正确的元素等等,因为它在没有sharepoint的情况下运行时有效。 当我调试我的代码时,jquery和jcrop都正确加载,当我运行代码和断点我调用.Jcrop方法时,它实际上进入jcrop文件并运行它没有错误,但是当它完成了运行我的照片上没有jcrop的东西。我试过firefox和Internet explorer。

我认为没有任何理由包含任何服务器端代码,因为这不是问题所在。 我的问题是,在通过sharepoint中的应用程序页面运行它时,我是否需要考虑一些问题。

提前致谢!

1 个答案:

答案 0 :(得分:0)

好吧,我假设这是在ASPX webpart页面或webpart解决方案中。

SP 2007拥有7K行CSS代码,SP 2010拥有13K行CSS代码。

您的CSS可能与SharePoint有冲突。尝试使用强名称,看看它是否正常运行。

另外,将HTML代码包装在表格中。这有助于不继承大多数核心CSS样式。

<table><tr><td>
    ASPX html here
</td></tr></table>