Вам понадобится новое приложение, чтобы открыть локальный хост с приложением Sharepoint 2016.

При запуске приложения SharePoint 2016 из VS2019 (режим отладки) я захожу в «Настройки сайта» в IE 11 и нажимаю на свою ссылку. Когда я это сделаю, я получу это

введите здесь описание изображения

Если я нажму «Разрешить», я получу еще одно всплывающее окно с сообщением «Вам понадобится новое приложение, чтобы открыть локальный хост». Я прочитал об этом и вижу, что страница, скорее всего, жалуется на то, что URL-адрес сформирован неправильно, но это та же самая ссылка, которая когда-либо была на этой странице (http://localhost//). Я не знаю, почему это происходит.

Страница представляет собой обычную страницу aspx с Sharepoint и AngularJS:

<%@ Assembly Name="Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Page Language="C#" MasterPageFile="~masterurl/default.master" Inherits="Microsoft.SharePoint.WebPartPages.WebPartPage" meta:progid="SharePoint.WebPartPage.Document" meta:webpartpageexpansion="full" %>
<%@ Register TagPrefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register TagPrefix="SharePointWebControls" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint" %>

<asp:Content ID="Content1" ContentPlaceHolderID="PlaceHolderAdditionalPageHead" runat="server">
     <script src="/_layouts/packages/angular.1.6.9/angular.min.js"></script>

     <script>
        var app = angular.module('my-app', []);

        angular.element(function () {
            document.getElementById("myFrame").src = document.location.protocol == "http:" ?
            document.location.hostname + ':8368/Pages/mypage.aspx?' + window.location.search.substr(1) :
            document.location.hostname + ':8268/Pages/mypage.aspx?' + window.location.search.substr(1);
        });


    </script>

</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="PlaceHolderMain" runat="server">
    <body class="flex-container">
        <div>
            <iframe style="width:100%; height:850px" frameborder="0" id="myFrame"></iframe>
        </div>
    </body>
</asp:Content>

В основном это две страницы - одна для http и https. Они загружаются в iframe (по уважительной причине, которая не имеет значения). Затем загружается моя страница контента:

<!DOCTYPE html>

<script src="/Scripts/jquery/jquery-1.12.4.min.js"></script>

<link rel="stylesheet" href="/Content/kendo/kendo.bootstrap.min.css" />
<link rel="stylesheet" href="/Content/kendo/kendo.common.min.css" />
<link rel="stylesheet" href="/Content/kendo/kendo.common-bootstrap.core.min.css" />
<link rel="stylesheet" href="/Content/kendo/kendo.common-bootstrap.min.css" />

<script src="/Scripts/kendo/kendo.all.min.js"></script>

<link href="/Content/bootstrap.min.css" rel="stylesheet" type="text/css" />
<script src="/Scripts/bootstrap/bootstrap.min.js"></script>

<script src="/Scripts/angular/angular.js"></script>
<script src="/Scripts/angular/angular-touch.js"></script>
<script src="/Scripts/angular/angular-animate.js"></script>


<link rel="stylesheet" href="/Content/Page.css" />

<style>
    .k-button {
        margin: 0 10px 0 0;
    }
    ::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
        color: gray;
        opacity: 0.7; /* Firefox */
    }

    :-ms-input-placeholder { /* Internet Explorer 10-11 */
        color: gray;
        opacity: 0.7; 
    }

    ::-ms-input-placeholder { /* Microsoft Edge */
        color: gray;
        opacity: 0.7; 
    }
    .k-textbox {
        width: 100%;
    }
</style>

Page details

It's not getting this far but I posted it just to provide the context. The main issue is why I get a message saying I need to have an app to run local host.


person user2284341    schedule 01.08.2019    source источник


Ответы (1)


Ответ был таков: я не добавил «document.location.protocol» к URL-адресам своих страниц. Это должно быть 'document.location.protocol + '//' + document.location.hostname + ':8268/Pages/mypage.aspx?' + window.location.search.substr(1);"

person user2284341    schedule 02.08.2019