Перейти к содержимому



- - - - -

WebBrowser: указание относительных ссылок для локального сайта


Сообщений в теме: 4

#1 OFFLINE   lga74



  • 108 сообщений

Отправлено 31 Январь 2012 - 09:18

Microsoft Visual C# 2008 Express Edition. Создаю форму, добавляю WebBrowser. Как указать адрес главной страницы сайта, нах на локальном ПК, чтобы при копировании содержимого на другой диск ссылка не терялась

Сообщение отредактировал lga74: 31 Январь 2012 - 09:21


#2 OFFLINE   Teddy_Bear

    Аватюрист года



  • 77
  • 317 сообщений

Отправлено 31 Январь 2012 - 11:46

В чём состоит "слёт ссылки"? Что такое "содержимое"?

1)Локально расположенный сайт?
При изменении положения сайта ссылка должна слетать - адрес и URL поменялся.

2) Или программа, в которой WebBrowser?
Положение программы, вроде, не должно влиять и слетать ссылки не должны.

Пример на Дельфи, но сообразишь и на С.

var
S_URL:WideString;
...
begin
...
S_URL:='http://www.softodrom.ru/index.htm';
Form1.WebBrowser1.Navigate(S_URL); 

Сообщение отредактировал Teddy_Bear: 31 Январь 2012 - 12:16

Куба либре! Добли! (Из правил ТБ Кубинцев)

#3 OFFLINE   lga74



  • 108 сообщений

Отправлено 31 Январь 2012 - 17:01

Содержимое - это "локальный сайт" (в моем случае электронный учебник). Я хочу создать для него форму, чтобы он открывался с ехе файла. Как вставить ссылку на Интернет ресурс и место на диске - я знаю. При перемещении сайта (уже с созданным ехе файлом) в другое место, ехешник выдает потерю данных.

Сообщение отредактировал lga74: 31 Январь 2012 - 17:04


#4 OFFLINE   Teddy_Bear

    Аватюрист года



  • 77
  • 317 сообщений

Отправлено 31 Январь 2012 - 21:14

1) Сделай файл конфигурации - полное имя файла, указывающее его место на диске. При запуске программы он его считывает и даёт WebBro.
При переписывании поправляешь файл конфигурации ручками. Тупо, но железобетонно работает.

2) На Дельфи так получаем директорию, где находится сам exe-файл. От него добавляешь путь типа RootPath+'\DATA\index.html' , где должен находится твой файл (видимо index.html) - электронный учебник.
RootPath:=ExtractFileDir(Application.ExeName);

На С#
Path.GetDirectoryName(new Uri(Assembly.GetExecutingAssembly().CodeBase).LocalPath)

Но подробнее к мануалу.

Сообщение отредактировал Teddy_Bear: 31 Январь 2012 - 21:37

Куба либре! Добли! (Из правил ТБ Кубинцев)

#5 OFFLINE   lga74



  • 108 сообщений

Отправлено 01 Февраль 2012 - 18:44

с этим кодом у меня все заработало, О счастье!!! Тему можно закрыть
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            webBrowser1.Url = new Uri((Application.StartupPath + "\\primer1.html"));
        }
    }
}

Сообщение отредактировал lga74: 01 Февраль 2012 - 18:46






Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных

Яндекс.Метрика