Skip to content

Commit e3a5486

Browse files
authored
Merge pull request #316 from plotly/ie-compat-meta-tag
Add meta http-equiv for ie compatibility to the index by default.
2 parents 8a9820c + 0b3b55c commit e3a5486

File tree

2 files changed

+14
-9
lines changed

2 files changed

+14
-9
lines changed

dash/dash.py

+7-2
Original file line numberDiff line numberDiff line change
@@ -339,16 +339,21 @@ def _generate_config_html(self):
339339
).format(json.dumps(self._config()))
340340

341341
def _generate_meta_html(self):
342+
has_ie_compat = any(
343+
x.get('http-equiv', '') == 'X-UA-Compatible'
344+
for x in self._meta_tags)
342345
has_charset = any('charset' in x for x in self._meta_tags)
343346

344347
tags = []
348+
if not has_ie_compat:
349+
tags.append('<meta equiv="X-UA-Compatible" content="IE=edge">')
345350
if not has_charset:
346-
tags.append('<meta charset="UTF-8"/>')
351+
tags.append('<meta charset="UTF-8">')
347352
for meta in self._meta_tags:
348353
attributes = []
349354
for k, v in meta.items():
350355
attributes.append('{}="{}"'.format(k, v))
351-
tags.append('<meta {} />'.format(' '.join(attributes)))
356+
tags.append('<meta {}>'.format(' '.join(attributes)))
352357

353358
return '\n '.join(tags)
354359

tests/test_integration.py

+7-7
Original file line numberDiff line numberDiff line change
@@ -272,10 +272,10 @@ def display_output(react_value, flow_value):
272272
self.percy_snapshot(name='flowtype')
273273

274274
def test_meta_tags(self):
275-
metas = (
275+
metas = [
276276
{'name': 'description', 'content': 'my dash app'},
277-
{'name': 'custom', 'content': 'customized'}
278-
)
277+
{'name': 'custom', 'content': 'customized'},
278+
]
279279

280280
app = dash.Dash(meta_tags=metas)
281281

@@ -285,12 +285,12 @@ def test_meta_tags(self):
285285

286286
meta = self.driver.find_elements_by_tag_name('meta')
287287

288-
# -1 for the meta charset.
289-
self.assertEqual(len(metas), len(meta) - 1, 'Not enough meta tags')
288+
# -2 for the meta charset and http-equiv.
289+
self.assertEqual(len(metas), len(meta) - 2, 'Not enough meta tags')
290290

291-
for i in range(1, len(meta)):
291+
for i in range(2, len(meta)):
292292
meta_tag = meta[i]
293-
meta_info = metas[i - 1]
293+
meta_info = metas[i - 2]
294294
name = meta_tag.get_attribute('name')
295295
content = meta_tag.get_attribute('content')
296296
self.assertEqual(name, meta_info['name'])

0 commit comments

Comments
 (0)