1

您好,我在将我在 asp.net 中使用 jquery 1.4.3 和 jcrop 制作的项目迁移到 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>

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

<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>

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

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

提前致谢!

4

1 回答 1

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>
于 2013-07-30T20:44:44.250 回答