mirror of
https://github.com/viq/NewsBlur.git
synced 2025-09-18 21:43:31 +00:00
Handling story-level original/story view bans, preventing iframe busts on nytimes/twitter. Thanks to @j4ded for the persistance.
This commit is contained in:
parent
d4322148e2
commit
a823b1bdae
2 changed files with 42 additions and 25 deletions
|
@ -1906,31 +1906,29 @@
|
|||
},
|
||||
|
||||
set_correct_story_view_for_feed: function(feed_id, view) {
|
||||
var feed = this.model.get_feed(feed_id);
|
||||
view = view || this.model.view_setting(feed_id);
|
||||
|
||||
if (feed && feed.has_exception && feed.exception_type == 'page') {
|
||||
if (view == 'page') {
|
||||
view = 'feed';
|
||||
var feed = this.model.get_feed(feed_id);
|
||||
view = view || this.model.view_setting(feed_id);
|
||||
|
||||
if (feed && feed.disabled_page) {
|
||||
view = 'feed';
|
||||
$('.task_view_page').addClass('NB-disabled-page')
|
||||
.addClass('NB-disabled');
|
||||
$('.task_view_story').addClass('NB-disabled-page')
|
||||
.addClass('NB-disabled');
|
||||
} else if (feed && feed.has_exception && feed.exception_type == 'page') {
|
||||
if (view == 'page') {
|
||||
view = 'feed';
|
||||
}
|
||||
$('.task_view_page').addClass('NB-exception-page');
|
||||
} else {
|
||||
$('.task_view_page').removeClass('NB-disabled-page')
|
||||
.removeClass('NB-disabled')
|
||||
.removeClass('NB-exception-page');
|
||||
$('.task_view_story').removeClass('NB-disabled-page')
|
||||
.removeClass('NB-disabled');
|
||||
}
|
||||
$('.task_view_page').addClass('NB-exception-page');
|
||||
} else if (feed && feed.disabled_page) {
|
||||
if (view == 'page') {
|
||||
view = 'feed';
|
||||
}
|
||||
$('.task_view_page').addClass('NB-disabled-page')
|
||||
.addClass('NB-disabled');
|
||||
$('.task_view_story').addClass('NB-disabled-page')
|
||||
.addClass('NB-disabled');
|
||||
} else {
|
||||
$('.task_view_page').removeClass('NB-disabled-page')
|
||||
.removeClass('NB-disabled')
|
||||
.removeClass('NB-exception-page');
|
||||
$('.task_view_story').removeClass('NB-disabled-page')
|
||||
.removeClass('NB-disabled');
|
||||
}
|
||||
|
||||
this.story_view = view;
|
||||
this.story_view = view;
|
||||
},
|
||||
|
||||
// ===============
|
||||
|
@ -4182,8 +4180,16 @@
|
|||
|
||||
open_story_in_story_view: function(story, is_temporary) {
|
||||
if (!story) story = this.active_story;
|
||||
this.switch_taskbar_view('story', is_temporary ? 'story' : false);
|
||||
this.load_story_iframe(story, story.story_feed_id);
|
||||
var feed = this.model.get_feed(story.story_feed_id);
|
||||
if ((feed && feed.disabled_page) ||
|
||||
NEWSBLUR.utils.is_url_iframe_buster(story.story_permalink)) {
|
||||
if (!is_temporary) {
|
||||
this.switch_taskbar_view('feed', 'story');
|
||||
}
|
||||
} else {
|
||||
this.switch_taskbar_view('story', is_temporary ? 'story' : false);
|
||||
this.load_story_iframe(story, story.story_feed_id);
|
||||
}
|
||||
},
|
||||
|
||||
load_story_iframe: function(story, feed_id) {
|
||||
|
|
|
@ -118,6 +118,17 @@ NEWSBLUR.utils = {
|
|||
}
|
||||
|
||||
return $options;
|
||||
},
|
||||
|
||||
is_url_iframe_buster: function(url) {
|
||||
var BROKEN_URLS = [
|
||||
'nytimes.com',
|
||||
'stackoverflow.com',
|
||||
'twitter.com'
|
||||
];
|
||||
return _.any(BROKEN_URLS, function(broken_url) {
|
||||
return _.includes(url, broken_url);
|
||||
});
|
||||
}
|
||||
|
||||
};
|
Loading…
Add table
Reference in a new issue