Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Не отображается favicon.ico

Всем доброго времени суток. Столкнулся с такой проблемой...

Пишу свою CMS, шаблон разделен на несколько частей в одном файле по функциям, соответственно подключение идет в каждом модуле отдельно. favicon не при каких условиях не отображается. В сервисах по обнаружению иконки все удачно. Как только я не пробовал это делать, все пути указаны правильно объявлял favicon по нескольку раз в head. Все безрезультатно.

Есть подозрение, что проблема в .htaccess. Есть какие-нибудь предложения?
Ответ:
Сообщение от Degradator
По описанию твоего .htaccess файла вместо должен открываться . Но раз ты говоришь что он(фавикон) открывается как надо, то либо ты написал какую-то мутную логику внутри своего index.php, либо ты врешь что у тебя открывается .
Да ты прав, я обманул. Иконка по прямому пути не открывается. Ну я попробывал воткнуть и .png иконку, которая открывается по пути.. И никакой реакции.
Вопрос: Проверка на наличие favicon сайта

Доброго времени суток! У меня есть такой код:
C#
1
2
3
4
5
6
7
8
WebRequest web_request = (HttpWebRequest)System.Net.WebRequest.Create("http://" + browser.Document.Url.Host.ToString() + "/favicon.ico");
                    System.Net.HttpWebResponse web_response = (HttpWebResponse)web_request.GetResponse();
                    System.IO.Stream web_stream = web_response.GetResponseStream();
                    Image image = Image.FromStream(web_stream);
                    imageList1.Images.Add(image);
                    tabControl1.SelectedTab.Text = browser.DocumentTitle;
                    tabControl1.ImageList = imageList1;
                    tabControl1.SelectedTab.ImageIndex = imageList1.Images.Count - 1;
Он позволяет получить иконку сайта(favicon) и вставляет ее в tabcontrol. Но есть одна проблемка - если на сайте этой самой иконки нету(либо она находится по другому адресу), то программа крашится. Нужно добавить какое-то условие, которое определяло бы есть ли favicon, или нет. Надеюсь на вашу помощь
Ответ: Большое спасибо! Это то, что нужно
Вопрос: Как в spring mvc настроить отдачу robots.txt, favicon.ico и др.

Добрый день, подскажите не могу найти решения

web.xml
<servlet>
     <servlet-name>spring-web</servlet-name>
     <servlet-class>
        org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>spring-web</servlet-name>
    <url-pattern>/</url-pattern> <!-- Кстати в чем отличие /*  от / ? -->
</servlet-mapping>


@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/builds/**").addResourceLocations("/builds/").setCachePeriod(3600 * 360);
    registry.addResourceHandler("/images/**").addResourceLocations("/images/").setCachePeriod(3600 * 360);
    registry.addResourceHandler("/favicon.ico").addResourceLocations("/favicon.ico");  // не работает
    registry.addResourceHandler("/robots.txt").addResourceLocations("/");             // не работает
}


Файлы лежат везде где можно:
/src/main/resources/*
/src/main/webapp/*

И это не работает(
Ответ: Дошло почему не работало, у меня есть контроллер который отвечает за вывод юзеров и он перехватывал запросы на статику:

@RequestMapping(value = {
        "/{login:(?iu)[a-z_0-9]{5,64}}",
        "/{login:(?iu)[a-z_0-9]{5,64}}/{modifier:draft}"
}, method = RequestMethod.GET)


Поэтому еще один вопрос, как лучше организовать вывод юзеров и статики?
Если адреса такие:

/user1
/user2
/robots.txt
Вопрос: В браузере не отображается изображение

Пытаюсь загрузить на представление изображение, которое находится по пути, записанном в БД:
Код C#
1
<img src="@Url.Content(@items.PicturePath)">
С самими путями всё корректно, если вывожу их как текст, то отображается полный путь к изображению абсолютно верно. Но когда пытаюсь загрузить картинку по этому пути, в браузере (Хром, Опера, ИЕ) на экран выводится лишь граница предполагаемого изображения.

Попробывал загрузить что-то другое, например
Код C#
1
<img src="C:\Users\PREDATOR\Desktop\get.JPG" width="100" height="50"/>
- та же ситуация.

Создал документ с расширением .html, там прописал код для открытия этих же изображений - во всех браузерах отображаются нормально.

Надеюсь на вашу помощь
Ответ: Нет, ничего не меняется. Картина вообще такая: когда я перемещаю изображение в каталог своего проекта обычным копи-пастом, оно не отображается в обозревателе решений, и я не могу получить к нему доступ через URL:
В браузере не отображается изображение
В браузере не отображается изображение
Но если я добавляю картинку следующим образом
В браузере не отображается изображение
, тогда она появляется внутри решения
В браузере не отображается изображение
и я могу её вывести на представление
В браузере не отображается изображение
И если бы мне были нужны изображения только для внешнего оформления страницы, то этот вариант меня бы полностью устроил. Но в данном случае я считываю из БД путь к изображениям, и уже по этому пути к ним обращаюсь. А сами картинки загружаются на сервер пользователями. Может как-то можно симитировать добавления нового элемента в папку решения?
Вопрос: Иконка: чтоб не отображалась на форме, но отображалась в панели задач и по Alt+TAB

Как убрать с формы понятно.
FormBorderStyle=FixedDialog (у меня именно этот вариант)
В .Net еще можно ShowIcon=False (если используется первый вариант, то ShowIcon пофиг)

Но при этом он ее убирает из панели задач и из Alt+TAB (рисует стандартный прямоугольник).

Ладно, не лыком шиты, знаю хитрость как ее восстановить.

Public Class Form1

  'Window Notifications
  Public Const WM_GETICON = &H7F

  Public Const ICON_SMALL = 0
  Public Const ICON_BIG = 1

  'значения надо присваивать до Form1_Load!!!
  Dim IconTAB As Icon = New Icon(Me.Icon, 32, 32) 'иконка для Висты 32х32 для Alt+Tab
  Dim IconTASK As Icon = New Icon(Me.Icon, 16, 16) 'иконка 16х16 для Taskbar(это если XP)

  Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
    'Debug.WriteLine(m.ToString())

    Select Case m.Msg
      Case WM_GETICON
        If m.WParam = New IntPtr(ICON_BIG) Then 'запрос правильной иконки для Alt-Tab на Висте
          m.Result = IconTAB.Handle
          Exit Sub
        ElseIf m.WParam = New IntPtr(ICON_SMALL) Then 'запрос правильной иконки для TaskBar
          m.Result = IconTASK.Handle
          Exit Sub
        End If
      Case Else
    End Select

    ' Forward message to base WndProc.
    MyBase.WndProc(m)
  End Sub

End Class


На Win8.1, Висте, 7-ке это работает.

На XP иконка которая Alt-TAB таким методом не лечится.

Объясню различия:
на XP - в Alt-TAB отображается иконка ПРИЛОЖЕНИЯ (т.е. значок exe-шника)
на Vista-8.1 - в Alt-TAB отображается иконка ФОРМЫ.

Но снятие иконки с шапки формы (FixedDialog либо ShowIcon=False ) убивает иконку в Alt-TAB и на XP тоже.
(!!!В VB именно на XP не убивало)

Как восстановить Alt+TAB иконку на XP?

Или м.б. в Net есть какие штатные фишки на эту тему?
(в принципе счас проверил, на XP мой "фокус" даже и вообще не нужен, он в этом случае ставит exe-иконку для Taskbar. Но не для Alt+TAB!!! )
Ответ: Все таки нашел решение для XP:

1) В конструкторе делаем ShowInTaskBar = false
2) На Taskbar выводим через API, а не через True:
  Private Sub frm1_Load(sender As Object, e As EventArgs) Handles Me.Load
    SetWindowLong(Me.Handle, GWL_EXSTYLE, GetWindowLong(Me.Handle, GWL_EXSTYLE) Or WS_EX_APPWINDOW) 

Тогда иконка в Alt+TAB отображается исправно.

Есть издержка:
приложение не отображается в Диспетчере задач (Task Manager), т.е. только в процессах но не в приложениях.
Это уже совсем мелочь, но все же интересно почему и как вернуть. Все же непорядок.
Вопрос: Содержимое представлений MySQL не отображается в DataGridView

По какой-то причине содержимое представления MySQL не отображается в DataGridView, при этом сам DataGridView отображает только столбцы. В визуальных настройках DataGridView при при нажатии Preview Data всё содержимое отображается, при запуске программы нет, с содержимым таблиц и самим запросом проблем нет, в MySql Workbrench всё содержимое отображается.
Подскажите пожалуйста как решить эту проблему.
Ответ: Смотрите что вы передаете в качестве DataSource и свойства DataGridView:
1DataSource Возвращает или задает источник данных, данные которого отображает DataGridView.
2DataBindings Привязки данных для элемента управления
3DataMember Возвращает или задает имя списка или таблицы в источнике данных, для которого объект DataGridView является отображением данных.

Но если имена колонок источника, в конструкторе формы отображаются то значит с DataSource все нормально смотрите свойства 2,3
Вопрос: Не отображается древо TreeView

Добрый день, разрабатываю шаблон отображения. TabControl + TreeView

Столкнулся с проблемой отображения нодов TreeView, помогите разобраться!

Если делать так как надо, то элементы древа не отображаются
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<TabControl ItemsSource="{Binding TabControlContent}" TabStripPlacement="Left" SelectedIndex="{Binding SelectedIndex}">
            <TabControl.ItemTemplate>
                <DataTemplate>
                    <Label Height="71" Content="{Binding StringSheetName}" VerticalContentAlignment="Center"/>
                </DataTemplate>
            </TabControl.ItemTemplate>
 
            <TabControl.ContentTemplate>
                <DataTemplate>
                    <TreeView ItemsSource="{Binding Tree}">
                        <TreeView.ItemTemplate>
                            <HierarchicalDataTemplate ItemsSource="{Binding Child}">
                                <TextBlock Text="{Binding Text}" Margin="0, 1" />
                            </HierarchicalDataTemplate>
                        </TreeView.ItemTemplate>
                    </TreeView>
                </DataTemplate>
            </TabControl.ContentTemplate>
        </TabControl>
Если поменять местами DataTemplate, то ноды отображаются
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<TabControl ItemsSource="{Binding TabControlContent}" TabStripPlacement="Left" SelectedIndex="{Binding SelectedIndex}">
            <TabControl.ItemTemplate>
          <DataTemplate>
                    <TreeView ItemsSource="{Binding Tree}">
                        <TreeView.ItemTemplate>
                            <HierarchicalDataTemplate ItemsSource="{Binding Child}">
                                <TextBlock Text="{Binding Text}" Margin="0, 1" />
                            </HierarchicalDataTemplate>
                        </TreeView.ItemTemplate>
                    </TreeView>
                </DataTemplate>
               
            </TabControl.ItemTemplate>
 
            <TabControl.ContentTemplate>
                <DataTemplate>
                    <Label Height="71" Content="{Binding StringSheetName}" VerticalContentAlignment="Center"/>
                </DataTemplate>
            </TabControl.ContentTemplate>
        </TabControl>
Модель древа
C#
1
2
3
4
5
6
7
8
9
10
class TCSTree
    {
        public string Text { get; set; }
        public List<TCSTree> Child { get; set; }
 
        public TCSTree()
        {
            Child = new List<TCSTree>();
        }
    }
Модель самого шаблона
C#
1
2
3
4
5
6
7
abstract class DataContextViewModelBase: ViewModelBase
    {
        public abstract string StringSheetName { get; protected set; }
        public abstract ExportType Type { get; protected set; }
        public abstract object Tree { get; set; }
        public abstract object SelectedNode { get; set; }
    }
Добавлено через 53 минуты
Ошибочка, при первом варианте отображается только на первой вкладке
Ответ:
Сообщение от vovan_vshivkov
Если делать так как надо, то элементы древа не отображаются
Почему это надо именно так?

У Вас не тот ContentTemplate переопределен. Нужно у TabItem'а это делать

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<TabControl ItemsSource="{Binding TabControlContent}" TabStripPlacement="Left" SelectedIndex="{Binding SelectedIndex}">
        <TabControl.ItemContainerStyle>
            <Style TargetType="TabItem">
                <Setter Property="HeaderTemplate">
                    <Setter.Value>
                        <DataTemplate DataType="{x:Type TabItem}">
                            <Label Height="71" Content="{Binding StringSheetName}" VerticalContentAlignment="Center"/>
                        </DataTemplate>
                    </Setter.Value>
                </Setter>
                <Setter Property="ContentTemplate">
                    <Setter.Value>
                        <DataTemplate>
                            <TreeView ItemsSource="{Binding Tree.Child}">
                                <TreeView.ItemTemplate>
                                    <HierarchicalDataTemplate ItemsSource="{Binding Child}">
                                        <TextBlock Text="{Binding Text}" Margin="0, 1" />
                                    </HierarchicalDataTemplate>
                                </TreeView.ItemTemplate>
                            </TreeView>
                        </DataTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </TabControl.ItemContainerStyle>
    </TabControl>
Вопрос: Не отображается содержимое компонентов TComboBox и TListBox

В одном проекте не отображается содержимое Items при запуске приложения. Просто пустой компонент. Если ItemIndex установить 2, то отображается только третья запись, а остальных все равно не видно. И для TListBox тоже самое. Как поправить, подскажите пожалуйста. Delphi XE5, библиотека VCL.
Ответ: Спасибо огромное за помощь, разобралась.ComboBox размещался на второй форме, которая запускалась из первой. А первую уничтожала с помощью destroy. Ну вот поэтому список и не отображался.
Вопрос: Не отображается автор и некорректно отображается дата в слайдбаре

Подскажите из-за чего в слайдах отображаются не те даты, что в обычном новостном блоке. То есть, выводятся даты на подобии: 01-01-70.


Код слайдера:

Код PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<div id="slider">
                    <ul>
                        <?php $pop = $wpdb->get_results("SELECT ID, post_title, post_content, comment_count, right(post_date,8) AS date FROM
                        {$wpdb->prefix}posts WHERE post_type='post' ORDER BY comment_count DESC LIMIT 3");?>
                        <?php foreach($pop as $post): ?>
                      <li><a href="<?php the_permalink(); ?>"><img src="http://wp-content/themes/comics/images/banner/headerimages-<?php echo rand(1,5); ?>.jpg" alt="Preview" /></a>
                            <!-- Featured post Bubble -->
                            <div class="bubble">
                                <div class="featured_post">
                                    <h2 class="post_title"><a href="<?php the_permalink(); ?>"><?php echo $post->post_title ?></a></h2>
                                    <p class="post_brief"><?php echo maxsite_str_word(strip_tags($post->post_content)); ?></p>
                                    <div class="post_info">
                                        <span class="author">Автор: <u><?php the_author(); ?></u></span>,
                                        <span class="date"> <?php the_date_xml(); ?> </span>
                                    </div>
                                    <div class="post_comments">
                                        <div class="number"><?php echo $post->comment_count; ?></div>
                                        <div class="comments"><a href="<?php the_permalink(); ?>">комм.</a></div>
                                    </div>
                                </div>
                            </div>
                        </li>
                        <?php endforeach; ?>
                       </ul>
                  </div>
                </div>
Ответ: " Непонятно, зачем вырезать из даты первые 8 символов " - Мне нужно, чтобы отображалось только в часах информация ( Часы, минуты, секунды ).

" И что делает функция, возвращающая дату. " - с помощью неё хотел вывести время ( RIGHT(post_date,8) AS DATE )

" И в каком виде дата хранится в БД? " - хранится в таком виде:
Вопрос: Не отображается картинка

Создаю шаблон wpf. Добавляю кнопку - отображается. Добавляю лабел - отображается. Добавляю картинку - на разметке визуально есть, а на деле нет. Что за фокус? (Картинка лежит в папке с проектом, где папки bin obj и тд)
Ответ: Разобрался.
В свойстве картинки в поле "действие при построении" выбрать "ресурсы".
Картинка стала отображаться.